Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.NET中的何处注册RegisterClientScriptBlock?_Asp.net_Javascript - Fatal编程技术网

在ASP.NET中的何处注册RegisterClientScriptBlock?

在ASP.NET中的何处注册RegisterClientScriptBlock?,asp.net,javascript,Asp.net,Javascript,asp.net页面或代码隐藏的最佳部分在哪里可以注册RegisterClientScriptBlock您有很多选择 注册脚本包含在部分中,或执行内联标记。不过,我更喜欢将脚本放在页面底部 您还可以通过调用ClientScript.RegisterClientScriptBlock并将所需脚本传递给它,在页面加载中的页面级别注册它(或任何其他事件)。请记住,如果使用RegisterClientScriptBlock,则需要确保在每次页面加载时都注册代码,因此,如果要使用此方法,我建议使用page\

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

您有很多选择

注册脚本包含在
部分中,或执行内联
标记。不过,我更喜欢将脚本放在页面底部

您还可以通过调用
ClientScript.RegisterClientScriptBlock
并将所需脚本传递给它,在
页面加载
中的
页面
级别注册它(或任何其他事件)。请记住,如果使用
RegisterClientScriptBlock
,则需要确保在每次页面加载时都注册代码,因此,如果要使用此方法,我建议使用
page\u 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...
}

只要确保您的
页面加载中没有包含
if(!IsPostBack)
复选框包装的
部分,否则您的脚本在任何回发后都不会注册。

正确答案是-在页面加载中的任何位置

我不知道你说的“注册”是什么意思。我很确定他们在谈论什么RegisterClientScriptBlock@Bob啊,难怪我不知道。对不起,我没提到我是指RegisterClientScriptBlock。请取消投票否决!