为什么GetType在HTMLControl上返回NULL ?

本文关键字:返回 NULL HTMLControl GetType 为什么 | 更新日期: 2023-09-27 18:12:24

我有一个ASP页面,其中有一个jQuery日期拾取器字段:

<input type="text" id="txtDtSentToCIS" class="datepicker" name="txtDtSentToCIS" style="height: 14px; width: 70px" />

我正在使用c#,并试图使用代码后面的代码将值推入字段:

txtDtSentToCIS.Text = (DT["CSE_Snt_TO_dt"].ToString());

该表达式的右半部分返回数据集中的有效日期。当我将鼠标放在控件名称上(处于中断模式)时,它表示字段类为空。当我转到即时窗口时,它告诉我:

? txtDtSentToCIS.GetType ()

'((object)(((ASP.webform1_aspx)this).txtDtSentToCIS) '为空

所有我能想到的是适当的类没有被引用,但我有"using System.Web.UI.HtmlControls;"在我的代码背后的顶部。我表单上的所有字段都是"<asp:Textbox>"工作正常,是"<input type="text">"字段给了我这个错误。

有什么想法?

为什么GetType在HTMLControl上返回NULL ?

只有具有runat="server"属性的控件才能从后面的代码访问。

所以你需要有

<input type="text" id="txtDtSentToCIS" runat="server" class="datepicker"
  name="txtDtSentToCIS" style="height: 14px; width: 70px" />

或者您可以使用TextBox控件

<asp:TextBox id="txtDtSentToCIS" runat="server" CssClass="datepicker" 
  style="height: 14px; width: 70px"/>