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