2

有什么办法可以在后面的 ASP.net 代码中访问 html 控件。

一些类似于 Findcontrol() 的控件来访问 html 控件。我在用

 HtmlSelect htsel1;

    htsel1 = (HtmlSelect)FindControl("stage_txt1");

但 htsel1 返回 null。

4

3 回答 3

2

您需要添加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代替divTextBox代替HtmlInputTextDropDownList代替HtmlSelect等等。

如果页面是NamingContainer(它们没有嵌套在子控件中Repeater),您也可以直接访问它们而无需使用FindControl.

HtmlSelect myDdl = this.stage_txt1;
于 2013-08-30T14:41:32.933 回答
1

您需要runat="server"属性。例如:

<div id="myServerSideDiv" runat="server"></div>
于 2013-08-30T14:40:32.683 回答
1

只需给 html 元素一个 runat="server" 和 id 属性,就可以从后面的代码访问该控件

于 2013-08-30T14:41:07.850 回答