为什么HTMLControl上的GetType会返回NULL?

时间:2013-05-06 16:40:02

标签: c# asp.net winforms

我有一个带有jQuery datepicker字段的ASP页面:

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

我正在使用C#并尝试在代码隐藏中使用此代码将值推送到字段:

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

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

?txtDtSentToCIS.GetType()

&#39;((对象)(((ASP.webform1_aspx)此).txtDtSentToCIS))&#39;为空

我能想到的是,没有引用正确的类,但我使用System.Web.UI.HtmlControls&#34;&#34;在我的代码隐藏的顶部。我的表单上"<asp:Textbox>"的所有字段都运行良好,它是"<input type="text">"字段,它们会给我这个错误。

任何想法??

1 个答案:

答案 0 :(得分:2)

只有具有属性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"/>