Подтвердить что ты не робот

Как открыть ссылку действия бритвы на новой вкладке?

Я пытаюсь открыть свою ссылку на новой вкладке (она должна быть в формате бритвы):

    <a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() }, new { target = "_blank" })" type="submit" id="runReport" class="button Secondary">@Reports.RunReport</a>

Это не работает. Кто-нибудь знает, как это сделать?

4b9b3361

Ответ 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>