Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 停止用户使用Telerik radwindowmanager直接单击关闭(X)web应用程序的消息_Jquery_.net_Telerik_Messagebox_Radwindow - Fatal编程技术网

Jquery 停止用户使用Telerik radwindowmanager直接单击关闭(X)web应用程序的消息

Jquery 停止用户使用Telerik radwindowmanager直接单击关闭(X)web应用程序的消息,jquery,.net,telerik,messagebox,radwindow,Jquery,.net,Telerik,Messagebox,Radwindow,使用Telerik RadWindowManager的web应用程序。我想通过抛出一条消息来阻止用户直接点击close按钮,他可以选择Yes、No和Cancel 如果他点击Yes,意味着他可以进入上一页并将一些信息保存到数据库中,如果点击No,他可以进入上一页而不保存,并取消以保持在同一页中。请分享你的想法 我尝试在这里添加onclientbeforecose=“onclientbeforecose”,并定义onclientbeforecose方法。但它不起作用 <telerik:RadW

使用Telerik RadWindowManager的web应用程序。我想通过抛出一条消息来阻止用户直接点击close按钮,他可以选择Yes、No和Cancel

如果他点击Yes,意味着他可以进入上一页并将一些信息保存到数据库中,如果点击No,他可以进入上一页而不保存,并取消以保持在同一页中。请分享你的想法

我尝试在这里添加onclientbeforecose=“onclientbeforecose”,并定义onclientbeforecose方法。但它不起作用

<telerik:RadWindowManager ID="Singleton" runat="server"  Behaviors="Close, Move, Resize, Maximize">
        <Windows>
             <telerik:RadWindow ID="DialogMsg" 
                ReloadOnShow="true" OnClientClose="OnClientMsgclose"
                BackColor="Gray" Modal="true" runat="server" 
                NavigateUrl="../messages.aspx">
            </telerik:RadWindow>
        </Windows>
          <Windows>
        <telerik:RadWindow ID="DialogAlertMsg" ShowContentDuringLoad="false"  OnClientClose="OnCloseOfAlertDialog"  EnableViewState="false" ReloadOnShow="true"
            BackColor="Gray" Modal="true" runat="server" Height="250" Width="350">
        </telerik:RadWindow>
    </Windows>          
</telerik:RadWindowManager>

尝试以下代码以实现您的场景

ASPX:


这将向您展示如何单独使用JavaScript确认关闭: 您可以向回调函数添加其他代码以满足您的需要


如果你想要三个按钮——上面关于定制RadWIndow内容模板的想法是可行的,但是你可以用JavaScript做更多的事情,不是每个按钮都需要回发。

谢谢Saritha。你解释的方式很好。但我想我漏掉了一点——我需要停止用户单击X(最小化/还原旁边最右角的关闭按钮)。如果不需要关闭按钮,那么在哪个事件上您正试图实现这些目标
  <telerik:RadWindowManager ID="winmgr" runat="server">
            <Windows>
                <telerik:RadWindow ID="win1" runat="server" VisibleOnPageLoad="true" OnClientClose="OnClientClose">
                </telerik:RadWindow>
            </Windows>
        </telerik:RadWindowManager>
        <telerik:RadWindow ID="confirmWindow" runat="server" VisibleTitlebar="true" VisibleStatusbar="false"
            Modal="true" Behaviors="None" Height="200px" Width="300px" Title="Confirm Delete">
            <ContentTemplate>
                <div style="padding-left: 30px; padding-top: 20px; width: 200px; float: left;">
                    <asp:Label ID="lblConfirm" Font-Size="14px" Text="Are you sure ?" runat="server"></asp:Label>
                    <br />
                    <br />
                    <telerik:RadButton ID="RadButtonYes" runat="server" Text="Yes" AutoPostBack="false"
                        OnClientClicked="confirmResult">
                    </telerik:RadButton>
                    <telerik:RadButton ID="RadButtonNo" runat="server" Text="No" AutoPostBack="false"
                        OnClientClicked="confirmResult">
                    </telerik:RadButton>
                    <telerik:RadButton ID="RadButtonCancel" runat="server" Text="Cancel" AutoPostBack="false"
                        OnClientClicked="confirmResult">
                    </telerik:RadButton>
                </div>
            </ContentTemplate>
        </telerik:RadWindow>
        <asp:HiddenField ID="hdn" runat="server" />
function OnClientClose(sender, args) {
        $find("<%=confirmWindow.ClientID %>").show();
        $find("<%=RadButtonYes.ClientID %>").focus();

    }
    function confirmResult(sender, args) {
        var oWnd = $find("<%=confirmWindow.ClientID %>");
        oWnd.close();
        if (sender.get_text() == "Yes" || sender.get_text() == "No") {

            document.getElementById("<%=hdn.ClientID %>").value = sender.get_text();
            $find("<%=RadButton1.ClientID %>").click();
        }
    }
 protected void RadButton1_Click(object sender, EventArgs e)
    {
        string value = hdn.Value;
        if(value=="Yes")
        {
          //your code
        }
        else if(value=="No")
        {
           //your code   
        }
    }