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,这正是我希望找到的。