asp.net - 在 ASP.NET 中哪里注册 RegisterClientScriptBlock?

标签 asp.net javascript

注册RegisterClientScriptBlock 的asp.net 页面或代码隐藏的最佳部分在哪里。

最佳答案

你有很多选择。

注册脚本包含在您的 <head> 中部分或做内联 <script>标签。不过,我更喜欢将我的脚本放在页面底部。

您也可以在 Page 注册它在你的水平 Page_Load (或任何其他事件)通过调用 ClientScript.RegisterClientScriptBlock并将它传递给你想要的脚本。请记住,如果您选择 RegisterClientScriptBlock ,您将需要确保在每次加载页面时注册代码,这就是我推荐 Page_Load 的原因。事件,如果你想使用这个方法。

例如:

protected void Page_Load(object sender, EventArgs e)
{
    AddClientSideJavascript();
    // Do other stuff
}


private void AddClientSideJavascript()
{
    // Register some client script code
    Type someType = this.GetType();
    if (!ClientScript.IsClientScriptBlockRegistered(someType, "TESTSCRIPT"))
    {
        string script = "function ShowAlert() { alert('Test'); }";
        ClientScript.RegisterClientScriptBlock(someType, "TESTSCRIPT", script, true);
    }

    // Register more here... etc...
}

只要确保您没有将它包含在您的 Page_Load 的部分用 if (!IsPostBack) 包裹的检查,否则您的脚本将不会在任何回发后注册。

关于asp.net - 在 ASP.NET 中哪里注册 RegisterClientScriptBlock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814863/

相关文章:

c# - Asp.net MVC 绑定(bind)到 View 模型

javascript - 将对象内的所有元素分配给空字符串

javascript - 使用 onchange 时如何将 JavaScript 函数结果传递到 html?

c# - 如何使用对话框/提要 javascript 在 Facebook 的描述字段中添加 URL?

javascript - 比较 HTML5 日期输入与 Angular2 日期

c# - 特殊字符不显示在带有参数的 SQL 数据库的 gridview 中

javascript - 在幻灯片内移动光滑的导航箭头

jquery - 当我将 IE 浏览器模式从 IE9 切换到 IE8 时,为什么会出现错误“"' Page_Validators' is undefined”?

c# - 使用 web.config 转换在 vs2012 中进行本地部署

javascript - 如何确定网站的加载时间