我试图找出当我点击链接时如何打开标签。
这是我尝试打开的链接,我已将其设置为此,但正如您所见,我添加了target =“_ blank”,但未在新标签中打开。
<div data-callno='@parts.Call_Num' data-url="@Url.Action("GetCallInfo", "CallHandling" , new {target = "_blank"})">
<div class="callViewSubmit toolbarIcon"></div>
Test </div>
这会在同一页面上打开,在查看谷歌后我注意到我使用的是URL.ACTION,而不是HTML.ACTIONLINK。
作为测试我在页面上尝试了这个,并且它在新标签中打开了:
@Html.ActionLink("New report", "New", "Report", null, new {target = "_blank"})
如何使用Url.Action方式在新标签页中打开我的div。
//新
这是我用来打开链接的javascript,我能否在javascript而不是url.action中打开链接
$(document).ready(function () {
$('.callViewSubmit').click(function () {
$.ajax({
type: "GET",
url: $(this).parent().data("url"),
data: { callNumber: $(this).parent().data("callno") },
success: function (data) {
$("#CallDetail").html(data);
},
});
});
});
答案 0 :(得分:1)
如果你在data-*
属性中分配它(并且你只能修改的是URI,那么你无法做任何事情来完成这个行为。这需要改变在访问data-url
的代码段中(以及它如何处理它)。
答案 1 :(得分:1)
如果您需要在新的标签/窗口中打开URL,那么AJAX就不是正确的方法。你仍然可以从javascript打开一个新的标签/窗口。
$(document).ready(function () {
$('.callViewSubmit').click(function () {
window.open($(this).parent().data("url"));
});
});
答案 2 :(得分:0)
您可以这样使用:
Url.RouteUrl("routeName",
new
{
controller = "controllerName",
action = "ActionName",
callNumber: "Value"
});
然后创建链接:
var link =
"<a data-original-title=\"title\" target='_top' data-toggle=\"tooltip\" data-placement=\"top\" " +
"href=\"" + viewLink +
"\" data-ajax=\"true\" data-ajax-method=\"GET\" data-ajax-mode=\"replace\" " +
"data-ajax-update=\"#CallDetail\" >" + This is link;