从codeehind传递javascript参数时出错
Passing javascript parameter from codebehind error
我使用这个脚本从codeehind调用一个javascript。
ClientScript.RegisterStartupScript(this.GetType(), "Exist", "<script language='javascript'>ConfirmRedirect('" + url + "','" + msg + "');</script>", true);
我的javascript代码是
function ConfirmRedirect(url,msg)
{
alert(msg);
window.location.href = url;
}
正在获取")"预期错误。这里少了什么?如果我在没有参数的情况下调用javascript,那么它正在工作。
删除Script标记,它就会工作,这对我来说很有效:
ClientScript.RegisterStartupScript(this.GetType(), "Exist", "ConfirmRedirect('" + url + "','" + msg + "');", true);
查看HTML源代码并将其包含在您的问题/帖子中。
您可能只是没有足够地逃离msg
。例如,它不能包含单引号'
或换行符。
更新
一个简单的解决方案是使用Replace()转义所有单引号。
ClientScript.RegisterStartupScript(this.GetType(), "Exist", "<script language='javascript'>ConfirmRedirect('" + url + "','" + msg.Replace("'", "''") + "');</script>", true);
可能msg
参数包含类似'
的符号
然后代码将类似
<script language='javascript'>
ConfirmRedirect('/myurl/somthing.aspx','Here's my message');
</script>
在那里等待右括号。
替换您的消息变量。使用这个---
ClientScript.RegisterStartupScript(this.GetType(), "Exist", "javascript:ConfirmRedirect('" + url + "','" + msg.Replace("'","") + "');", true);
相关文章:
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 从 javascript 获取 MVC 控制器中的操作参数时出错
- Node.js错误:参数太多上传批量数据时出错
- angularjs[ng:areq]参数'fn'不是函数,在控制台中获取字符串时出错
- WebSQL:处理SQL时出错:数量为''语句字符串中的s与参数计数不匹配
- ReactJS - 将参数传递给函数时出错
- JQuery 函数突然停止工作,转换 Javascript 参数时出错
- 资产期间出错:由于Javascript函数的默认参数而导致预编译
- 从codeehind传递javascript参数时出错
- 通过POST将参数传递到iframe中的SSRS时出错
- 将一系列数字作为参数传递给PHP中的JavaScript函数时出错
- 使用缓冲区解码base64时出错.第一个参数必须是一个数字
- toString()在使用传递参数时出错
- 提供svg v1路径参数d时出错
- JavaScript函数作为参数出错- SyntaxError:意外的token{
- 动态传递参数给javascript函数时出错
- Rails 3:向javascript函数传递参数时出错
- 对象没有方法'在node.js中使用参数时出错
- Javascript在将参数作为字符串和数字的组合传递时出错
- Angular 2在访问路由器参数时会出错