网络应用程序项目。
我使用ConfirmButtonExtender
进行确认。
首先,我要验证所有必填字段,而不是向用户显示确认消息。但我每次都能看到它。我想有条件地使用它。
这是我的代码。
<asp:Button ID="UpdatebuttonUpdaterID" runat="server"
Text="Update" CssClass="create_role_button_in"
OnClick="UpdatebuttonUpdaterID_Click" ClientIDMode="Static"/>
<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtender3"
runat="server" TargetControlID="UpdatebuttonUpdaterID"
ConfirmOnFormSubmit="true" BehaviorID="updateBehavior"
ClientIDMode="Static" DisplayModalPopupID="ModalPopupExtender3"/>
<asp:ModalPopupExtender ID="ModalPopupExtender3" runat="server"
TargetControlID="UpdatebuttonUpdaterID"
PopupControlID="Panel3" OkControlID="Button5"
CancelControlID="Button6" ClientIDMode="Static" >
</asp:ModalPopupExtender>
<asp:Panel runat="server" ID="Panel3" Style="display: none; width: 200px; background-color: White; border-width: 2px; border-color: Black; border-style: solid; padding: 20px;">
Do you want to send this Conversion Rate for Approval?<br />
<asp:Button runat="server" ID="Button5" Text="OK" />
<asp:Button runat="server" ID="Button6" Text="Cancel" />
</asp:Panel>
javascript代码:
Sys.Application.add_load(wireEvents);
function wireEvents() {
var behavior = $find("confirmBehavior");
if (behavior != null) {
behavior.add_showing(OnClientClickApprove);
}
var updateBehavior = $find("updateBehavior");
if (updateBehavior != null) {
updateBehavior.add_showing(OnClientClickUpdate);
}
}
function OnClientClickUpdate() {
if (some condition)
return false;
}
因此,如果OnClientClickUpdate
返回false,则用户不应看到确认消息。
如果它返回true,那么只有User应该能够在UI上看到确认消息。
答案 0 :(得分:0)
您可以为其分配一个客户端点击处理程序。有点脏,但确保(在实践中)您的处理程序在链中排在第一位并取消其他处理程序:
<asp:Button ID="UpdatebuttonUpdaterID" runat="server"
OnClientClick="return OnClientClickUpdate();"
答案 1 :(得分:0)
您需要像这样重写OnClientClickUpdate
函数:
function OnClientClickUpdate(sender, eventArgs) {
if (some condition)
eventArgs.set_cancel(true);
}