3

我想将字符串值从后面的代码传递给 javascript 函数。因为那一刻我得到一个未捕获的参考错误,解释该值未定义。

var variable= txtVariable.Value;
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registering", "RegisterTheUser("+variable+");", true);

建议也许关于正确的语法

这是功能

function RegisterTheUser(val) {
    alert(val);
}

问候

4

2 回答 2

5

您发布的内容看起来不错。我已经使用以下没有任何问题:

ScriptManager.RegisterStartupScript(this, typeof(string), "Registering", String.Format("RegisterTheUser('{0}');", myVariable), true);

您可以尝试使用我发布的示例吗?

于 2013-09-18T11:19:35.757 回答
2

问题可能是您RegisterStartupScript在加载函数之前正在执行RegisterTheUser

您需要整理脚本的加载顺序或添加一些逻辑以在document准备好后才调用此函数。

在 jQuery 中是这样完成的:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registering", "$(document).ready(function(){ RegisterTheUser("+variable+"); });", true);

正如 sbhomra 在他的回答中指出的那样,如果该值是一个字符串,您可能需要添加单个 qoutes。如果是数字则不需要。

于 2013-09-18T11:27:41.993 回答