Trådstart 26 sep. 2007 19:50 #1 Har ett skumt problem!
Har en FormView med en dropdownlist i.
I FormView_DataBound har jag denna kod:
DropDownList positionID = (DropDownList)FormView1.FindControl("PositionID");
positionID.SelectedValue = campaign.PositionID.ToString();
Jag sätter alltså SelectedValue till ett värde och det visas också i listen på sidan. Fine!
Men:
Har också denna kod i Page_PreRender:
DropDownList positionID = (DropDownList)FormView1.FindControl("PositionID");
Response.Write(positionID.SelectedValue.ToString());
Då skriver den inte ut någonting! Hur tusan är det möjligt?
Kollar jag i htmlkoden som genererats så är ett listItem selectat!
Varför kommer jag inte åt SelectedValue i Page_PreRender?
E erka Medlem sedan dec. 1999 6 522 inlägg För det triggas efter det? Eller du binder om datat så du inte får något valt värde?
Jag hajjar inte!
Vad menar du med triggas efter?
Datat binds inte om och det borde väl heller inte spela någon roll då ett val i listen är selectat oavsett om den binds om eller ej. Så det värdet borde jag väl komma åt!
htmlkod som genererats
<select name="ctl00$ContentPlaceHolder1$FormView1$PositionID" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$FormView1$PositionID\',\'\')', 0)" id="ctl00_ContentPlaceHolder1_FormView1_PositionID">
<option value="aaa">asd</option>
<option value="sss">sdf</option>
<option selected="selected" value="ddd">fgh</option>
<option value="fff">ghj</option>
</select>
När jag tog bort min objectdatasource som binder ddl:en och binder "för hand" istället i codebehind så funkar det!
Förklar det ni, om ni kan!