【发布时间】:2011-12-13 11:59:45
【问题描述】:
我有一个模态弹出扩展器
<asp:ModalPopupExtender ID="ModalPopupExtender1" TargetControlID="btnAddNewGuest" BehaviorID="newGuestPopup"
PopupControlID="pnlNewGuest" CancelControlID="btnGuestCancel" BackgroundCssClass="modalBackground"
DropShadow="false" runat="server">
</asp:ModalPopupExtender>
pnlNewGuest 包含所有用于输入的文本框、一个复选框和 btnSave。 btnSave 通过在代码后面调用 btnSave_Clicked 将数据保存到服务器。
在调用 jquery 之后的复选框 onclick
$("#<%=checkbox1.ClientID%>").click(function () {
if ($("#<%=checkbox1.ClientID%>").is(':checked')) {
$('#guestdiv1 :input').attr('disabled', true);
}
else {
$('#guestdiv1 :input').attr('disabled', false);
}
});
一切都很顺利。当我禁用模式弹出屏幕中的控件时遇到的问题。屏幕向上滚动,但数据已成功保存。
【问题讨论】:
-
“向上滚动”是什么意思?
-
它在更新面板中为什么它应该刷新
-
看上面的问题只是建议我你可以遵循的方法。我有一个 modalpopupextender 将数据保存在后端。
-
它会自动刷新,因为您可能没有将 UpdatePanel 的 UpdateMode 设置为 Conditional - 这意味着 - 您对 updatepanel 中的控件所做的每次更改都会导致 updatepanel 被刷新,因为您更改了“禁用”属性 - 它会自行刷新
-
Shai,感谢您的跟进。实际上我找到了问题的原因,但仍然找不到解决方案。实际上页面向上滚动的原因是当我们需要通过模态弹出保存任何数据时。保存按钮的属性必须设置为 causevalidation=false。当我这样做时,页面没有向上滚动,但我需要在保存按钮上进行验证,我怎么能同时拥有这两个东西。
标签: asp.net modalpopupextender