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
向ScriptManager注册Javascript的工作不一致_Javascript_Asp.net - Fatal编程技术网

向ScriptManager注册Javascript的工作不一致

向ScriptManager注册Javascript的工作不一致,javascript,asp.net,Javascript,Asp.net,我正在开发一个ASP.NET页面。目前页面上没有AJAX。在不同按钮点击事件的代码隐藏中,我注册了下面的脚本。脚本的目的是将窗口滚动到特定的锚定标记。方法如下: public void RegisterAnchor(string anchorTag) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "navigate", "window.onload = function() {window.loca

我正在开发一个ASP.NET页面。目前页面上没有AJAX。在不同按钮点击事件的代码隐藏中,我注册了下面的脚本。脚本的目的是将窗口滚动到特定的锚定标记。方法如下:

public void RegisterAnchor(string anchorTag)
{
    Page.ClientScript.RegisterStartupScript(Page.GetType(), "navigate",
          "window.onload = function() {window.location.hash='#" + anchorTag + "';}", true);
}
我有两个不同的锚标记,它们是有效的,并且以相同的方式定义。然而,一个在工作,一个没有。 我可以检查什么来确定这种行为的原因

ascx中的锚定标记:

<a name="EditDlg"></a>     

您可以尝试使用页面实例注册客户端脚本。另一个选项是在每次部分回发时生成唯一的脚本id

选项1(向页面实例注册客户端脚本):

选项2(每次部分回发生成唯一的脚本id):


我修改了问题中的代码以便更清楚。我尝试过使用唯一的脚本ID,但没有帮助。这与AJAX无关,页面上没有AJAX,所以我使用page.ClientScript,或者至少尝试使用它。谢谢
ScriptManager.RegisterStartupScript(this.Page, Caller.GetType() , "navigate", "window.onload = function() {window.location.hash='#" + anchorTag + "';}", true);
ScriptManager.RegisterStartupScript(Caller, Caller.GetType(), Guid.NewGuid(), "window.onload = function() {window.location.hash='#" + anchorTag + "';}", true);