3

我正在使用下面的客户端脚本将值传递给 javascript 函数。它在 aspx 页面中工作正常,但在 ascx 页面中,它不起作用。请帮我解决这个问题。

ScriptManager.RegisterStartupScript(this, this.GetType(), "tabmvng", "<script language='javascript'>SetActiveTab(3); </script>", false);
4

5 回答 5

5

试试这个,都是因为UserControl,你不再和一个Page打交道了。

 ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), UniqueID, "myFunction('" + parameter + "');", true);
于 2014-04-24T09:52:10.970 回答
1

尝试以下

<script type='text/javascript'>
function SetActiveTab(a){
alert(a);
}
</script>

ScriptManager.RegisterStartupScript(this, this.GetType(), "tabmvng", "SetActiveTab(3);", true);
于 2013-04-02T11:45:57.890 回答
1
Control Caller = this; //user control
string MyScript= "SetActiveTab(3);";
ScriptManager.RegisterStartupScript(Caller, typeof(Caller), "Script Name", MyScript), true);

通过脚本管理器在从该用户控件向 Page 对象添加脚本时遇到问题,请使用对调用用户控件的引用。此外,它将为您包装脚本,因此无需添加脚本标签。

编辑注意:我假设这个函数存在于你的脚本中的某个地方:SetActiveTab(3);

于 2013-04-02T12:10:33.297 回答
0
ScriptManager.RegisterStartupScript(this.Page, typeof(System.Web.UI.Page), "javascript", "YourScript", true);
于 2013-08-28T06:57:10.360 回答
-1

我遇到了同样的问题,即 Javascript 不在 html 输出中。事实证明,如果您是从 ascx (控件)执行此操作,则必须传递对控件的引用,例如Me

ScriptManager.RegisterStartupScript(Me, GetType(Page), Guid.NewGuid().ToString(), jscript, True)

在那之后,一切都开始工作了!谢谢马克舒尔泰斯!

于 2016-11-23T21:44:32.823 回答