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