繁体   English   中英

在没有ASP.NET Ajax的回发后显示模式

[英]Display modal after postback without ASP.NET Ajax

我有一个ASP.NET按钮。 单击该按钮时,我希望在按钮的服务器端代码运行后显示模式弹出窗口。 我不想使用ASP.NET Ajax控件工具包模式弹出扩展器。

使用ASP.NET Ajax,我可以挂钩到结束请求事件。 有没有办法在没有ASP.NET Ajax的情况下执行此操作。 只是jQuery? 在回发后,我基本上想在服务器端点击代码运行后运行一些javascript。

您可以使用ScriptManager.RegisterStartupScript() ,如下所示:

ScriptManager.RegisterStartupScript(MyUpdatePanel, GetType(), "post-load-script",
  "$(function() { $('#dialog').dialog(); });", true);

然后来自UpdatePanel的请求返回它将运行这个:

$(function() { 
  $('#dialog').dialog(); 
});

您当然可以在那里放置任何您想要的脚本,但是如果您只是使用Label或者作为更新的一部分填充的#dialog <div>中的任何内容,这将显示它(如果您正在使用jQuery UI对话框) ,还有其他)。 这个概念很通用,你只是在异步请求返回时注册一些JavaScript来运行,这个模态和你想要做的事情是非常开放的。

这取决于您打算使用什么方法通过jQuery启动回发。 如果你打算使用异步回发(比如jQuery.ajax),你可以提供一个在回发完成时调用的方法。 请参见http://api.jquery.com/jQuery.ajax/

如果您只是要使用正常的回发,可以使用服务器端方法中的Page.ClientScript.RegisterClientScriptBlock来注册将在回发完成后运行的脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM