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