回发后,AJAX Calendar Extender / Textbox值始终为null

时间:2011-11-09 11:33:28

标签: asp.net ajax vb.net

我确信这是一个非常简单易于回答的问题,但我一直在关注这个问题并且是ASP新手我似乎无法找到有效的解决方案。

我有一个ASP日历扩展器,我点击它,日历按预期显示,所选日期出现在文本框中,但当页面然后回发时,我无法从textbox.text获取所选日期值calendarextender.selecteddate属性,我通过尝试将这些值分配给page_load事件中的字符串变量来测试它。

我在这里错过了什么吗?

到目前为止,这是我的代码:

我在表单开头声明了脚本管理器

   <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"/>

然后我的表格中的textbox / datepicker降低了

 <asp:TextBox ID="DateChooser"  
                     runat="server" 
                     ReadOnly="true"
                     style="text-align: center" Width="85px" 
                     OnTextChanged="DateChooser_TextChanged"
                     AutoPostBack="true" />  

         <div style='position:relative; z-index:1'>

            <cc1:CalendarExtender CssClass="cal_Theme1" 
                                  ID="DateChooser_CalendarExtender" 
                                  runat="server" 
                                  Enabled="True" 
                                  TargetControlID="DateChooser" 
                                  PopupPosition="Right" 
                                  Format="dd MMM yyyy" 
                                  />
      </div>
    </td>

1 个答案:

答案 0 :(得分:2)

由于您已将文本框ReadOnly设置为true,因此会丢失客户端代码在回发上执行的更改。请点击此链接获取更详细的说明:TextBox.ReadOnly Property考虑​​通过客户端代码在文本框上设置readonly属性。