繁体   English   中英

从ascx页面代码后面调用Javascript函数

[英]call a Javascript function from ascx page code behind

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

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

试试这个,这都是因为UserControl,您不再需要处理Page。

 ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), UniqueID, "myFunction('" + parameter + "');", true);

尝试以下

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

ScriptManager.RegisterStartupScript(this, this.GetType(), "tabmvng", "SetActiveTab(3);", true);
Control Caller = this; //user control
string MyScript= "SetActiveTab(3);";
ScriptManager.RegisterStartupScript(Caller, typeof(Caller), "Script Name", MyScript), true);

通过脚本管理器无法从该用户控件向页面对象添加脚本的过程中使用对调用用户控件的引用。 此外,它将为您包装脚本,因此无需添加script标签。

编辑说明:我假设此函数存在于您的脚本中的某个位置: SetActiveTab(3);

ScriptManager.RegisterStartupScript(this.Page, typeof(System.Web.UI.Page), "javascript", "YourScript", true);

我有同样的问题,即Javascript不在html输出中。 事实证明,如果要从ascx(控件)执行此操作,则必须将引用传递给控件,​​例如Me

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

在那之后,所有工作开始了! 谢谢马克舒尔泰斯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM