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
C# ScriptManager.RegisterStartupScript接收两个脚本,但执行一个脚本_C#_Asp.net_Scriptmanager - Fatal编程技术网

C# ScriptManager.RegisterStartupScript接收两个脚本,但执行一个脚本

C# ScriptManager.RegisterStartupScript接收两个脚本,但执行一个脚本,c#,asp.net,scriptmanager,C#,Asp.net,Scriptmanager,我试图在页面加载上显示两个警报,但ScriptManager只是执行我的第一个警报。 我真的不知道该怎么办,有人能帮我吗 这是我的测试代码。它位于加载方法内: Page currentPage = (Page)HttpContext.Current.Handler; ScriptManager.RegisterStartupScript(currentPage, typeof(string), "Script" + DateTime.Now.Millisecond, "alert('1

我试图在页面加载上显示两个警报,但ScriptManager只是执行我的第一个警报。 我真的不知道该怎么办,有人能帮我吗

这是我的测试代码。它位于加载方法内:

Page currentPage = (Page)HttpContext.Current.Handler;
ScriptManager.RegisterStartupScript(currentPage, typeof(string), "Script" + DateTime.Now.Millisecond,
     "alert('1!');", true);
ScriptManager.RegisterStartupScript(currentPage, typeof(string), "Script" + DateTime.Now.Millisecond,
     "alert('2!');", true);

正如评论中提到的,您可能会获得两个注册的相同密钥。试着这样做:

Page currentPage = (Page)HttpContext.Current.Handler;

ScriptManager.RegisterStartupScript(currentPage, typeof(string), 
    "Script" + Guid.NewGuid, "alert('1!');", true);
ScriptManager.RegisterStartupScript(currentPage, typeof(string), 
    "Script" + Guid.NewGuid, "alert('2!');", true);

或者将两个脚本合并为一个脚本,只进行一次注册。

如评论中所述,您可能会获得两次注册的相同密钥。试着这样做:

Page currentPage = (Page)HttpContext.Current.Handler;

ScriptManager.RegisterStartupScript(currentPage, typeof(string), 
    "Script" + Guid.NewGuid, "alert('1!');", true);
ScriptManager.RegisterStartupScript(currentPage, typeof(string), 
    "Script" + Guid.NewGuid, "alert('2!');", true);

或者将两个脚本合并为一个脚本,只进行一次注册。

关键参数应该是唯一的。通过将“Script”+DateTime.Now.millished“放在两种情况下,您可能会得到相同的名称。在这种情况下,脚本将被覆盖。或者更好的做法是,将所有脚本合并到一个字符串中,然后只运行一个
RegisterStartupScript
。提示:如果要构建一个比较复杂的脚本,可以使用StringBuilder。进行合并是最好的选择!非常感谢。关键参数应该是唯一的。通过将“Script”+DateTime.Now.millished“放在两种情况下,您可能会得到相同的名称。在这种情况下,脚本将被覆盖。或者更好的做法是,将所有脚本合并到一个字符串中,然后只运行一个
RegisterStartupScript
。提示:如果要构建一个比较复杂的脚本,可以使用StringBuilder。进行合并是最好的选择!非常感谢。