1

Response.Write我想使用方法在 c# 代码隐藏中调用 jQuery 对话框。我尝试使用RegisterScriptBlock

Response.Write("<script> $(document).ready(function () {$('#divOutputWindow').html('You are not authorised to view this Page..!!').dialog({title: 'Notice...',show: 'slide',hide: 'blind',modal: true,buttons: {'Ok':function(){window.location = 'Default.aspx';}}});});</script>");

我的所有 jQuery 都正确包含,因为我可以从我的 JS 文件中调用对话框。ID:divOutputWindow存在于 .aspx 页面上

仍然无法看到 jQuery 对话框。

PS:我的 .aspx 页面不包含<form>标签因此RegisterScriptBlock无法工作

4

2 回答 2

2

它不起作用,因为 Response.Write 在页面顶部添加了代码块。以这种方式,在加载该 jq 库之前执行脚本。您需要使用 ScriptManager 和 RegisterClientScriptBlock。

于 2013-05-20T15:51:15.830 回答
0

这有效..!!

<form id="frmUserManagement" runat="server">在我的 aspx 页面中添加

在代码隐藏中

StringBuilder strScript = new StringBuilder();
strScript.Append("$(document).ready(function(){");
strScript.Append("$('#divOutputWindow').html('You are not authorised to view this Page..!!<br/>Redirecting to Default Page.').dialog({title: 'Error...',show: 'slide',hide: 'blind',modal: true,buttons: {'Ok': function () {window.location='Default.aspx';}}});");
strScript.Append("});");
ScriptManager.RegisterStartupScript(frmUserManagement, frmUserManagement.GetType(), "Script", strScript.ToString(), true);
于 2013-05-20T16:34:41.807 回答