Högst upp på sidan borde du lägga in textboxarna
protected withevents r_dt_start as system.web.ui.webcontrols.textbox
detta lägger du alltså utanför dina subbar.
13 svar · 460 visningar · startad av m_soderlund
Högst upp på sidan borde du lägga in textboxarna
protected withevents r_dt_start as system.web.ui.webcontrols.textbox
detta lägger du alltså utanför dina subbar.
Jag har redan gjort det.
proctected withevents r_dt_start as textbox
protected withevents r_dt_slut as textbox
Har jag förstått dig rätt att du har din textbox i en repeater som finns i en usercontrol men att du försöker hämta dess värde i codebehind från den sida där din usercontrol är implementerad?
NETwork skrev:
Har jag förstått dig rätt att du har din textbox i en repeater som finns i en usercontrol men att du försöker hämta dess värde i codebehind från den sida där din usercontrol är implementerad?
Det är hemskt trevligt att ha med intelligenta människor att göra. :)
Haha, jag tar inte åt mig. ;) En liten fråga först... varför kan du inte låta din usercontrol ha hela den här funktionaliteten i sig själv?
Det som komplicerar till det hela lite är ju din repeater. Du måste alltså först göra en findcontrol på din usercontrol efter din repeater och först därefter göra ytterligare en findcontrol på den rad i din repeater där din textbox finns (pseudokod för att du ska förstå principen):
protected namespace.MyUserControl uc;
((TextBox)(((Repeater)uc.Findcontrol("repeaterID")).Findcontrol.Items[x]("textboxID")).Text;
Hmm.. Hur kan översättningen till VB se ut? Det där var lite halvkrångligt. :l ;)
DirectCast(DirectCast(uc.Findcontrol("repeaterID"), Repeater).Items(x).FindControl("textboxID"), TextBox).Text
protected withevents uc as UserControl
Det fungerar inte. Min användarkontroll heter uc_. Jag kör
protected withevents uc_ as usercontrol
och det fungerar så klart inte. Har testat att byta ut uc_ mot exempelvis ucx_ men utan resultat.
DirectCast(DirectCast(uc_.Findcontrol("franvaro_red"), Repeater).Items(x).FindControl("dt_start"), TextBox).Text
fungerar heller inte. Jag har inte möjlighet att se felmeddelandet som genereras. :(
Tack för hjälpen än så länge.
Jag vet inte om det här kommer att hjälpa dig men...en tanke.
string minString = Request.Form["id:et på textboxen"];
Sedan måste du antagligen ta reda på själva idet som du kan sätta tidigare. minTextbox.ID = "box1"
nääää Request.Form tillhör det förgångna, undvik gamla ASP grejer :e
Jag har nu löst problemet! Jag skippade repeatern och hämtade data från databasen med en OleDbDataReader. Jag band info till tre textboxar och tog emot värden från dem genom textbox_namn.Text.
Tackar så mycket för hjälpen, jag har lärt mig en hel del! Bland annat DirectCast.. :)