簡體   English   中英

如何在asp.net中有條件地使用ConfirmButtonExtender?

[英]How to use ConfirmButtonExtender conditionally in asp.net?

網絡應用程序項目。

我正在使用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,則只有用戶應該可以在UI上看到確認消息。

您可以為其分配功能的客戶端點擊處理程序。 有點臟,但是(在實踐中)確保您的處理程序在鏈中排在第一,並取消其他處理程序:

<asp:Button ID="UpdatebuttonUpdaterID" runat="server"
            OnClientClick="return OnClientClickUpdate();"

您需要像這樣重寫OnClientClickUpdate函數:

function OnClientClickUpdate(sender, eventArgs) {

    if (some condition)
        eventArgs.set_cancel(true);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM