使用 MVC Razor 打开一个新选项卡@Url.Action
open a new tab using MVC Razor @Url.Action
我正在研究如何在单击 link 时打开选项卡。
这是我的 link,它正在尝试打开,我已将其设置为这样,但如您所见,我添加了 target = "_blank",它不会在新选项卡中打开。
<div data-callno='@parts.Call_Num' data-url="@Url.Action("GetCallInfo", "CallHandling" , new {target = "_blank"})">
<div class="callViewSubmit toolbarIcon"></div>
Test </div>
这在同一页面上打开,在查看 google 后我注意到我使用的是 URL.ACTION 而不是 HTML.ACTIONLINK。
作为测试,我在页面上尝试了这个,它确实在新标签页中打开了:
@Html.ActionLink("New report", "New", "Report", null, new {target = "_blank"})
关于如何使用 Url.Action 方式在新选项卡中打开我的 div 的任何想法。
//New
这是我用来打开 link 的 javascript,我可以在 javascript 中打开 link 而不是 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);
},
});
});
});
如果您在 data-*
属性中分配它(并且您唯一可以修改的是 URI,则您无法执行任何操作来完成该行为。这需要在访问 data-url
的代码(及其处理方式)。
如果您需要在新的 tab/window 中打开 URL,那么 AJAX 不是正确的方法。您仍然可以从 javascript.
打开一个新的 tab/window
$(document).ready(function () {
$('.callViewSubmit').click(function () {
window.open($(this).parent().data("url"));
});
});
你可以这样使用:
Url.RouteUrl("routeName",
new
{
controller = "controllerName",
action = "ActionName",
callNumber: "Value"
});
然后创建link:
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;
我正在研究如何在单击 link 时打开选项卡。
这是我的 link,它正在尝试打开,我已将其设置为这样,但如您所见,我添加了 target = "_blank",它不会在新选项卡中打开。
<div data-callno='@parts.Call_Num' data-url="@Url.Action("GetCallInfo", "CallHandling" , new {target = "_blank"})">
<div class="callViewSubmit toolbarIcon"></div>
Test </div>
这在同一页面上打开,在查看 google 后我注意到我使用的是 URL.ACTION 而不是 HTML.ACTIONLINK。
作为测试,我在页面上尝试了这个,它确实在新标签页中打开了:
@Html.ActionLink("New report", "New", "Report", null, new {target = "_blank"})
关于如何使用 Url.Action 方式在新选项卡中打开我的 div 的任何想法。
//New
这是我用来打开 link 的 javascript,我可以在 javascript 中打开 link 而不是 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);
},
});
});
});
如果您在 data-*
属性中分配它(并且您唯一可以修改的是 URI,则您无法执行任何操作来完成该行为。这需要在访问 data-url
的代码(及其处理方式)。
如果您需要在新的 tab/window 中打开 URL,那么 AJAX 不是正确的方法。您仍然可以从 javascript.
打开一个新的 tab/window$(document).ready(function () {
$('.callViewSubmit').click(function () {
window.open($(this).parent().data("url"));
});
});
你可以这样使用:
Url.RouteUrl("routeName",
new
{
controller = "controllerName",
action = "ActionName",
callNumber: "Value"
});
然后创建link:
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;