我想使用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对话框。
P.S。 :我的.aspx页面不包含<form>
代码,因此RegisterScriptBlock
无效
答案 0 :(得分:2)
它没有用,因为Response.Write在页面顶部添加了代码块。通过这种方式,脚本在加载jq库之前执行。 您需要使用ScriptManager和RegisterClientScriptBlock。
答案 1 :(得分:0)
这工作.. !!
在我的aspx页面中添加了<form id="frmUserManagement" runat="server">
和代码隐藏
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);