在ASP.NET中的UserControl中注册JavaScript

时间:2010-09-20 12:56:26

标签: javascript asp.net

我在usercontrol(ascx)的设计页面中声明了我的javascript。有没有办法在Head部分注册这个javascript块?我不想使用ClientScript.RegisterClientScriptBlock,因为我不想在代码隐藏中声明我的javascript。我也不能(完全)将它移动到一个单独的文件中,因为我使用业务逻辑来创建它。

1 个答案:

答案 0 :(得分:2)

我想说ClientScript.RegisterClientScriptBlock是从用户/自定义控件注册脚本的方法。但是,由于您不希望将脚本放在代码隐藏中,您可以在服务器标记内的ascx页面中编写相关代码。例如,

<script runat="server">

protected override OnPreRender(sender as object, e as EventArgs)
{
   base.onPreRender(sender, e);

   string script;
   // Logic to build the script goes here

   this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Key_" + this.ClientID, script, true);
}

</script>