我想从后面的代码将字符串值传递给javascript函数。因为现在我得到一个未被捕获的参考错误,解释该值未定义。
var variable= txtVariable.Value;
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registering", "RegisterTheUser("+variable+");", true);
建议也许是正确的语法
这是功能
function RegisterTheUser(val) {
alert(val);
}
问候
答案 0 :(得分:5)
你发布的内容看起来不错。我没有任何问题地使用了以下内容:
ScriptManager.RegisterStartupScript(this, typeof(string), "Registering", String.Format("RegisterTheUser('{0}');", myVariable), true);
您可以尝试使用我发布的示例吗?
答案 1 :(得分:2)
问题可能是您在加载函数RegisterStartupScript
之前正在执行RegisterTheUser
。
您需要整理脚本加载的顺序或添加一些逻辑,以便在document
准备就绪后调用此函数。
在jQuery中这样做:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registering", "$(document).ready(function(){ RegisterTheUser("+variable+"); });", true);
正如sbhomra在他的回答中指出的,如果值是一个字符串,你可能需要添加单个qoutes。如果是数字则不需要。