我的ASP.NET代码如下:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#addScheduleEffectiveStartDate").datepicker({
minDate: new Date() // Date must be at least today
})
})
</script>
<asp:UpdatePanel ID="serviceTypeUpdatePanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="addScheduleEffectiveStartDate" EventName="TextChanged" />
</Triggers>
<ContentTemplate>
<asp:TextBox ReadOnly="false" AutoPostBack="true" runat="server" ID="addScheduleEffectiveStartDate" OnTextChanged="addScheduleEffectiveStartDate_TextChanged" />
</ContentTemplate>
</asp:UpdatePanel>
这可以正常工作 - 当我更改日期时(通过在框中输入或通过从DatePicker修改它)来调用我的事件处理程序。
我希望只读取文本框,以便用户只能通过日期选择器修改文本框内容。但是,当我这样做时,不再调用事件处理程序。
有没有办法解决这个问题?
答案 0 :(得分:1)
我认为在更新文本框值后,您必须自己手动触发回发事件。您实际上可以像TextBox一样利用__doPostBack事件。
__doPostBack('addScheduleEffectiveStartDate','')
请注意,这将是上面的doPostBack示例中使用的完整ClientID。
这是一个SO post,它详细介绍了如何使用doPostBack调用TextChanged事件