web-dev-qa-db-ja.com

かみそりのアクションリンクを新しいタブで開く方法は?

リンクを新しいタブで開くようにしています(かみそりの形式である必要があります):

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

しかし、これは機能していません。誰もこれを行う方法を知っていますか?

62
FairyQueen

混乱しているように見えます Html.ActionLink() for rl.Action() Url.Actionは、URLのみを返すため、ターゲットを設定するパラメーターはありません。

現在のコードに基づいて、アンカーはおそらく次のようになります。

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

HtmlHelperActionLinkを使用し、それに応じてRouteValuesおよびHtmlAttributesを設定するだけです。

@Html.ActionLink(Reports.RunReport, "RunReport", new { controller = "Performance", reportView = Model.ReportView.ToString() }, new { target = "_blank" })
115
Gabe

UrlHelper.Action(string,string,object,object)が存在しないため、コンパイルできません。

UrlHelper.Actionは、<a>マークアップではなく、指定したアクションに基づいてURLのみを生成します。 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" })
    
20
WDRust

ActionLinkヘルパーを使用して新しいタブを開くことが目標の場合:

@Html.ActionLink("New tab please", "Home", null , new { target = "_blank" })

@Html.ActionLink("New tab please", "Home", Nothing, New With {Key .target = "_blank"})
17
JoshYates1980

名前付き引数の場合:

@Html.ActionLink(linkText: "TestTab", actionName: "TestAction", controllerName: "TestController", routeValues: null, htmlAttributes: new { target = "_blank"})
4
usefulBee

For

@ Url.Action

<a href="@Url.Action("Action", "Controller")" target="_blank">Link Text</a>
3
Thisara Subath
@Html.ActionLink(
"Pay Now",
"Add",
"Payment",
new { @id = 1 },htmlAttributes:new { @class="btn btn-success",@target= "_blank" } )
2
Abiuth Arun

angularパラメーターを含むasp.net mvc ActionLink新しいタブ

<a  target="_blank" class="btn" data-ng-href="@Url.Action("RunReport", "Performance")?hotelCode={{hotel.code}}">Select Room</a>
1
sanjeewa

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

0
Faisal

typesubmitとして設定していません。つまり、ブラウザは<form>データをサーバーに投稿する必要があります。

実際、 w3schools に従って、タグにはタイプ属性がありません。

したがって、リモートtype属性は、あなたのために機能するはずです。

0
Sly