Asp.net 从服务器端显示Telerik radAlert时,如何停止代码执行

Asp.net 从服务器端显示Telerik radAlert时,如何停止代码执行,asp.net,telerik,Asp.net,Telerik,我目前正在母版页页面加载事件中执行一个检查,该事件确认会话是否正在被另一个选项卡使用,因为我正在使用的应用程序最初不支持多个选项卡 因此,当单击表单保存按钮时,母版页页面加载代码将执行,my RadAlert将按条件显示。RadAlert对话框在窗口关闭或单击ok时调用javascript页面重新加载函数,因此我希望剩余的服务器端代码停止执行,因为在执行forms click事件时,记录被保存,并且这不会发生,因为可能会有损坏的会话数据 除了进入每个页面单击事件并在其中手动执行相同的条件并返回之

我目前正在母版页页面加载事件中执行一个检查,该事件确认会话是否正在被另一个选项卡使用,因为我正在使用的应用程序最初不支持多个选项卡

因此,当单击表单保存按钮时,母版页页面加载代码将执行,my RadAlert将按条件显示。RadAlert对话框在窗口关闭或单击ok时调用javascript页面重新加载函数,因此我希望剩余的服务器端代码停止执行,因为在执行forms click事件时,记录被保存,并且这不会发生,因为可能会有损坏的会话数据

除了进入每个页面单击事件并在其中手动执行相同的条件并返回之外,还有什么方法可以阻止代码执行

protected void Page_Load(object sender, EventArgs e)
    {           
        if (!Page.IsPostBack)
        {
            string strGuid = Guid.NewGuid().ToString().Replace("-", "");
            HiddenGuid.Value = strGuid;
            //Session["SessionId"] = strGuid;
            SessionHandler.SessionId = strGuid;
        }
        else if (Page.IsPostBack)
        {                
            if (HiddenGuid.Value != SessionHandler.SessionId) 
            {
                //Telerik.Web.UI.RadWindowManager radWindowManager = (Telerik.Web.UI.RadWindowManager)this.Page.Master.FindControl("wmrDialogs");
                string msg = "Your form did not submit successfully as using multiple tabs can cause errors when submitting forms." + 
                    " This page will now reload. Please re-enter your changes and re-submit the form.";
                string title = "Potential Multiple Tab Error";
                wmrDialogs.RadAlert(msg, 500, 150, title, "ReloadPage");
            }                
        }
除了进入每个页面单击事件并在其中手动执行相同的条件并返回之外,还有什么方法可以阻止代码执行?如果可能的话,我真的想避免做以下事情:

protected void Save_Click(object sender, EventArgs e)
{
    //  if not current session do not execute save
    if(!AppUtils.IsCurrentSession(((HiddenField)this.Page.Master.FindControl("HiddenGuid")).Value))
    {
        // do nothing
        return;
    }
}
我尝试了response.end(),它在显示对话框(警报)之前停止页面,同时也阻止页面通过javascript重新加载

我也尝试过response.redirect,但它会在显示对话框之前重定向,因此我无法通知用户正在发生什么


任何帮助都将不胜感激。

RadAlert是客户端上显示的一个对话框,这意味着在将页面发送到浏览器之前,所有服务器代码都已执行。您需要修改代码/逻辑,以便在RadALert()调用之后不会执行任何其他操作。我也认为这会给你一些有用的想法: