有沒有什麼方法可以訪問後面的ASP.net代碼中的html控件。從代碼隱藏訪問htmlcontrols
一些類似於Findcontrol()來訪問html控件的控件。我正在使用
HtmlSelect htsel1;
htsel1 = (HtmlSelect)FindControl("stage_txt1");
但是htsel1返回null。
有沒有什麼方法可以訪問後面的ASP.net代碼中的html控件。從代碼隱藏訪問htmlcontrols
一些類似於Findcontrol()來訪問html控件的控件。我正在使用
HtmlSelect htsel1;
htsel1 = (HtmlSelect)FindControl("stage_txt1");
但是htsel1返回null。
您需要runat =「server」屬性。例如:
<div id="myServerSideDiv" runat="server"></div>
只要給html元素中用runat =「服務器」和id屬性和控制將是accessable從後面的代碼
您需要添加runat=server
和ID
。
ASPX:
<select id="stage_txt1" runat=server" >
<option value="1">stage 1</option>
<option value="2">stage 2</option>
<option value="3">stage 3</option>
<option value="4">stage 4</option>
</select>
代碼隱藏:
HtmlSelect myDdl = (HtmlSelect)FindControl("stage_txt1");
或者只是使用像Panel
代替div
或TextBox
代替HtmlInputText
或DropDownList
代替HtmlSelect
等等servercontrols。
如果頁面是NamingContainer
(它們不嵌套在像Repeater
這樣的子控件中),那麼您也可以直接訪問它們而不使用FindControl
。
HtmlSelect myDdl = this.stage_txt1;
在頁面加載事件我加載從代碼下拉背後這樣+ 「<選擇ID = \」 stage_txt 「+ I + 」\「 類= \ 」enbldbox \「 RUNAT = \」 服務器\ 「>」+「」+「
」+「」; } maindiv.InnerHtml = dyntable;我試圖訪問這個下拉按鈕點擊,我無法從代碼後面控制 –
@VenkateshKaramala:不要添加文本,並期望它可以從服務器端訪問。這根本行不通。如果您需要動態添加控件,可以使用像Repeater這樣的webdatabound控件,該控件還可以創建html控件(首選)或創建像HtmlSelect這樣的控件實例並將它們添加到頁面的控件集合中。 –
好的感謝您的幫助 –