Как открыть ссылку на действие бритвы в новой вкладке?
Я пытаюсь открыть свою ссылку в новой вкладке (она должна быть в формате razor):
<a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() }, new { target = "_blank" })" type="submit" id="runReport" class="button Secondary">@Reports.RunReport</a>
Это не работает. Кто-нибудь знает, как это сделать?
10 ответов:
похоже, вы путаете Html.ActionLink () на Url.Действие (). Url-адрес.Действие не имеет параметров для установки цели, поскольку оно возвращает только URL-адрес.
основываясь на вашем текущем коде, якорь, вероятно, должен выглядеть так:
<a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() })" type="submit" id="runReport" target="_blank" class="button Secondary"> @Reports.RunReport </a>
просто использовать
HtmlHelper
ActionLink
и выберитеRouteValues
иHtmlAttributes
соответственно.@Html.ActionLink(Reports.RunReport, "RunReport", new { controller = "Performance", reportView = Model.ReportView.ToString() }, new { target = "_blank" })
это не будет компилироваться, поскольку
UrlHelper.Action(string,string,object,object)
не существует.
UrlHelper.Action
будет генерировать только URL-адреса на основе действия, которое вы предоставляете, а не<a>
разметки. Если вы хотите добавить HtmlAttribute (например,target="_blank"
, чтобы открыть ссылку в новой вкладке) вы можете:
добавить атрибут target в
<a>
элемент на себя:<a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() })", target = "_blank" type="submit" id="runReport" class="button Secondary"> @Reports.RunReport </a>
Использовать Html.ActionLink для создания
<a>
разметка элемент:@Html.ActionLink("Report View", "RunReport", null, new { target = "_blank" })
Если ваша цель-использовать помощник ActionLink и открыть новую вкладку:
@Html.ActionLink("New tab please", "Home", null , new { target = "_blank" }) @Html.ActionLink("New tab please", "Home", Nothing, New With {Key .target = "_blank"})
с именованными аргументами:
@Html.ActionLink(linkText: "TestTab", actionName: "TestAction", controllerName: "TestController", routeValues: null, htmlAttributes: new { target = "_blank"})
asp.net MVC ActionLink новая вкладка с угловым параметром
<a target="_blank" class="btn" data-ng-href="@Url.Action("RunReport", "Performance")?hotelCode={{hotel.code}}">Select Room</a>
вы устанавливаете его не
type
Какsubmit
. Это означает, что браузер должен опубликовать ваш<form>
данные на сервер.на самом деле тег не имеет атрибута типа в соответствии с w3schools.
столь отдаленных и он должен работать для вас.