从ASP.NET后面的代码显示确认对话框

时间:2014-03-13 02:44:57

标签: c# javascript jquery asp.net

我想从代码后面显示确认对话框。

我有一个确认的对话框A.当我点击A上的按钮确定时,它是在代码后面调用方法B(使用ajax post:url / B和B是一个方法有webmethod属性)。

在方法B中我想显示其他对话框,代码正在流动:(B是AlertInformLogOut)

[WebMethod]
    public static void AlertInformLogOut(string alertId, string option)
    {           
            //TODO: Open call schedule
            var page = HttpContext.Current.Handler as Page;
            // PopUp alert notify info
            if (page != null)
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "script", "AlertSetDialog(" + new JavaScriptSerializer().Serialize(new AlertInformEntity()) + ", 'AlertInforms');", true);
                //ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "script", "AlertSetDialog(" + new JavaScriptSerializer().Serialize(new AlertInformEntity()) + ", 'AlertInforms');", true);
            }

    }

问题是:对话框没有显示。

有些机构可以告诉我原因,并且我可以从方法中显示对话框是否具有webmethod属性。

1 个答案:

答案 0 :(得分:0)

问题是,我记得,WebMethod不会更新页面,这与ASP:更新面板回调不同。

当您使用jQueries ajax函数时,请使用成功回调,而不是尝试在服务器端执行。

$.ajax({ 
   type: "POST", 
   url: url+"/UpdateAlertInfo",....,
   success: /*Call you Confirm Function Here */
 }

您可能还想考虑使用$.post()而不是