I trying to get my link to open in a new tab (it must be in razor format):
<a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() }, new { target = "_blank" })" type="submit" id="runReport" class="button Secondary">@Reports.RunReport</a>
This is not working though. Anyone know how to do this?
With Named arguments:
@Html.ActionLink(linkText: "TestTab", actionName: "TestAction", controllerName: "TestController", routeValues: null, htmlAttributes: new { target = "_blank"})
asp.net mvc ActionLink new tab with angular parameter
<a target="_blank" class="btn" data-ng-href="@Url.Action("RunReport", "Performance")?hotelCode={{hotel.code}}">Select Room</a>
For
@Url.Action
<a href="@Url.Action("Action", "Controller")" target="_blank">Link Text</a>
Just use the HtmlHelper
ActionLink
and set the RouteValues
and HtmlAttributes
accordingly.
@Html.ActionLink(Reports.RunReport, "RunReport", new { controller = "Performance", reportView = Model.ReportView.ToString() }, new { target = "_blank" })
@Html.ActionLink(
"Pay Now",
"Add",
"Payment",
new { @id = 1 },htmlAttributes:new { @class="btn btn-success",@target= "_blank" } )
If your goal is to use the ActionLink helper and open a new tab:
@Html.ActionLink("New tab please", "Home", null , new { target = "_blank" })
@Html.ActionLink("New tab please", "Home", Nothing, New With {Key .target = "_blank"})
<a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() })" type="submit" id="runReport" target="_blank" class="button Secondary"> @Reports.RunReport </a>
You are setting it't type
as submit
. That means that browser should post your <form>
data to the server.
In fact a tag has no type attribute according to w3schools.
So remote type
attribute and it should work for you.
That won't compile since UrlHelper.Action(string,string,object,object)
doesn't exist.
UrlHelper.Action
will only generate Urls based on the action you provide, not <a>
markup. If you want to add an HtmlAttribute (like target="_blank"
, to open link in new tab) you can either:
Add the target attribute to the <a>
element by yourself:
<a href="@Url.Action("RunReport", "Performance",
new { reportView = Model.ReportView.ToString() })",
target = "_blank" type="submit" id="runReport" class="button Secondary">
@Reports.RunReport
</a>
Use Html.ActionLink to generate an <a>
markup element:
@Html.ActionLink("Report View", "RunReport", null, new { target = "_blank" })
Source: Stackoverflow.com