在asp.net中使用AutoPostback的问题c#

时间:2011-05-18 06:50:41

标签: c# asp.net data-binding autopostback

我有两个带有日历扩展程序的文本框控件和一个下拉列表,如下所示。

<asp:TextBox ID="txtStartDate" runat="server" ReadOnly="True"></asp:TextBox>

<asp:CalendarExtender ID="CalendarExtender1" TargetControlID="txtStartDate" 
    runat="server" Format="yyyy-MM-dd" />

<asp:TextBox ID="txtEndDate" runat="server" ReadOnly="True" 
             ontextchanged="txtEndDate_TextChanged">
</asp:TextBox>

<asp:CalendarExtender ID="txtEndDate_CalendarExtender" runat="server" 
                       Enabled="True" TargetControlID="txtEndDate" Format="yyyy-MM-dd">
</asp:CalendarExtender>

<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>

我想要做的是当用户在txtEndDate中选择日期时我想调用一个函数来加载DropDownList1中的数据,即DataBind DropDownList1

当我将AutoPostBack的{​​{1}}属性设置为True并在txtEndDate上调用某个方法时,该事件不会被触发。

我哪里出错可以有人帮忙。我只想在用户选择txtEndDate_TextChanged中的日期时加载DropDownList1。我该怎么做。

这是我在txtEndDate

中所做的
aspx.cs

我在ButtonClick事件上放了相同的事件,一切正常。

1 个答案:

答案 0 :(得分:1)

尝试从ReadOnly="true"控件中删除TextBox。这可能会解决您的问题。

TextBox控件ReadOnly="true"存在问题,只要发生PostBack,文本框的值就会丢失,这就是事件未触发的原因。

编辑:这是文本框的已知问题,但尚无解决方法。显然有解决方法。