从代码beind(c#)catch块调用JavaScript函数
我试图从catch块后面的ascx控制代码调用一个JavaScript函数。 我试过以下两种方法,但它们似乎不起作用从代码beind(c#)catch块调用JavaScript函数,c#,javascript,asp.net,C#,Javascript,Asp.net,我试图从catch块后面的ascx控制代码调用一个JavaScript函数。 我试过以下两种方法,但它们似乎不起作用 Page.ClientScript.RegisterClientScriptBlock(typeof(string),“script”,“test();”,true) ScriptManager.RegisterStartupScript(第页,GetType(),“err_msg”,“alert('error');”,true) 如果我将代码放在“PageLoad”下,则会调用
Page.ClientScript.RegisterClientScriptBlock(typeof(string),“script”,“test();”,true)代码>
ScriptManager.RegisterStartupScript(第页,GetType(),“err_msg”,“alert('error');”,true)代码>
<script>
$(document).ready(function(){
<%=script %>
});
</script>
$(文档).ready(函数(){
});
捕捉块是用来做什么的,它在哪里
如果catch块中的代码被执行,这通常意味着某些东西失败了,也许这个失败也是JS调用没有通过的原因。您尝试过这个吗
Page.ClientScript.RegisterStartupScript(typeof(string), "script", "test();", true);
如果这相当于问题中的ScriptManager选项,我想不起来了
此外,您还需要确保所传递的“脚本密钥”值是唯一的,否则asp.net将丢弃除第一个实例以外的所有具有相同密钥的已注册脚本 Javascript根本不喜欢特殊字符和换行符(\r\n)。更换所有这些,它将工作 例如:
string test = msgError.Replace("'", "");
test = Server.HtmlEncode(test).Replace(Environment.NewLine, "<br />");
Page.ClientScript.RegisterStartupScript(
typeof(string),
"MyKeyCatch",
//script,
"showErrorMessage('"+test+"');",
true);
string test=msgError.Replace(“,”);
test=Server.HtmlEncode(test).Replace(Environment.NewLine,“
”);
Page.ClientScript.RegisterStartupScript(
类型(字符串),
“MyKeyCatch”,
//剧本,
“消息(“+test+”);“,
正确的);
如果出现拒绝访问异常,我必须在页面顶部显示一条消息,并应用一些css样式。所以我试图调用一个javascript函数来实现这一点。这是通过回发、ajax还是从一开始就加载页面来调用的?脚本是在正确的时间运行(在页面呈现后)还是尝试在未完成的页面上运行?回发时会调用它。在页面加载时,如果我调用它工作的函数。偶数-page.ClientScript.RegisterStartupScript(typeof(string),“script”,“Javascript:alert('test');”,true);不要在catch block中抛出警报问一个愚蠢的问题>你知道catch块只有在抛出异常时才会执行吗?这正是我想要实现的。当出现异常时,我想调用javascript函数。我的场景是-母版页上有一个按钮,在弹出窗口中打开一个aspx页面。当我单击弹出屏幕上的“保存”按钮时,执行保存操作后,弹出屏幕关闭。如果出现错误,我必须在母版页中的字段上显示错误消息。Try catch块在弹出页面中。@San如果使用window.open(..),请将主窗口称为“window.opener”。请参阅:。因此,您可以这样做:window.opener.displayError(),假设您的母版页中有displayError函数
<script>
$(document).ready(function(){
<%=script %>
});
</script>
Page.ClientScript.RegisterStartupScript(typeof(string), "script", "test();", true);
string test = msgError.Replace("'", "");
test = Server.HtmlEncode(test).Replace(Environment.NewLine, "<br />");
Page.ClientScript.RegisterStartupScript(
typeof(string),
"MyKeyCatch",
//script,
"showErrorMessage('"+test+"');",
true);