2017-04-04 34 views
0

从我使用asp.net web表单开始已经很长时间了,我需要进行一些复习。我正在做一些旧的应用程序的mod ...。带有CalendarExtender的TextBox的文本属性始终是空的

<asp:TextBox 
    ID="Text_DatePerformed" 
    runat="server" 
    CssClass="style_default" 
    Font-Size="8pt" 
    Width="75px" 
    ReadOnly="true"> 
</asp:TextBox> 

<asp:CalendarExtender 
    ID="CalendarExtender2" 
    TargetControlID="Text_DatePerformed" 
    Format="MM/dd/yyyy" 
    runat="server" /> 

这似乎是在UI中工作。如果我点击文本框中的日期选择器弹出,我可以选择一个日期,正确的日期出现在文本框中。但是,我遇到的麻烦是,在代码隐藏中,.Text属性始终为空。

string DatePerformed = Text_DatePerformed.Text; 

回答

1

设置readonly=false否则ViewState不会持久它。

<asp:TextBox 
    ID="Text_DatePerformed" 
    runat="server" 
    CssClass="style_default" 
    Font-Size="8pt" 
    Width="75px" 
    ReadOnly="false"> 
</asp:TextBox> 

如果你需要它,你要么必须使它在只读或客户方设置在Page_Load或更高版本:

Text_DatePerformed.Attributes.Add("readonly", "readonly"); 
+0

谢谢! (填充命中最大字符) –