C# 添加超链接并触发单击事件

C# 添加超链接并触发单击事件,c#,javascript,jquery,dom,hyperlink,C#,Javascript,Jquery,Dom,Hyperlink,我知道有很多这样的问题。然而,我遇到的问题是,我正在从一个C#页面构建javascript和/或jquery(两者都尝试过),该页面创建一个超链接,使用ScriptManager注册一个启动脚本并触发click事件 我之所以要这样做而不是重定向窗口,是因为有时我需要能够将链接的目标更改为空白窗口。这就是我遇到的问题。创建链接时没有问题,并将其添加到页面中,并且正在触发click事件。但是当目标为\u空白时,它实际上是在弹出窗口中打开的,而不是在浏览器中的新选项卡中打开的。弹出窗口与窗口相同。op

我知道有很多这样的问题。然而,我遇到的问题是,我正在从一个
C#
页面构建
javascript和/或jquery
(两者都尝试过),该页面创建一个超链接,使用
ScriptManager
注册一个启动脚本并触发
click
事件

我之所以要这样做而不是重定向窗口,是因为有时我需要能够将链接的目标更改为空白窗口。这就是我遇到的问题。创建链接时没有问题,并将其添加到页面中,并且正在触发click事件。但是当
目标
\u空白
时,它实际上是在
弹出窗口
中打开的,而不是在浏览器中的新选项卡中打开的。弹出窗口与
窗口相同。open()

我的页面上还有其他带有
target=\u blank
的静态链接,它们在新选项卡中打开时不会出现问题。只有在幕后创建并用javascript触发的链接才会以这种方式打开。有什么想法吗

纯Javascript方法:

string js = @"var link = document.createElement('a');
                            link.href='{0}';
                            link.target='{1}';
                            document.body.appendChild(link);
                            link.click();
                            link.remove();";
string link = String.Format(js, url, target);
string js = @"$('document').ready(function(){{
                                    $('<a id=""tmpLink"" href=""{0}"" target=""{1}""></a>').appendTo('body');
                                    $('a#tmpLink').trigger('click');                                    
                              }});";
JQuery方法:

string js = @"var link = document.createElement('a');
                            link.href='{0}';
                            link.target='{1}';
                            document.body.appendChild(link);
                            link.click();
                            link.remove();";
string link = String.Format(js, url, target);
string js = @"$('document').ready(function(){{
                                    $('<a id=""tmpLink"" href=""{0}"" target=""{1}""></a>').appendTo('body');
                                    $('a#tmpLink').trigger('click');                                    
                              }});";
stringjs=@“$('document').ready(函数(){{
$('')。附于('正文');
$('a#tmpLink')。触发器('click');
}});";

您是否检查了firebug中的链接?它们与静态的有什么不同吗?例如,在这里,无论是否在tab或Window中打开某些内容,都取决于浏览器。触发单击只会触发事件,任何JavaScript事件侦听器都会响应该事件。触发单击不会使浏览器实际单击链接。因此它不会导航到该链接。我知道没有办法强制创建新选项卡,而这取决于浏览器来处理,我取出了链接。remove();并将链接留在页面上。当我手动单击链接时,它会在一个新的选项卡中打开。谢谢Daniel,这正是我希望找到的。