2012-06-01 53 views
44

我試圖讓我的鏈接在新標籤頁中打開(它必須在剃刀格式):如何在新選項卡中打開剃鬚刀動作鏈接?

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

這不,雖然工作。有人知道怎麼做嗎?

+6

爲什麼你打算試圖把它放到'Url.Action'?只需在標籤本身加上''標籤即可。 –

回答

30

看起來你很困惑Html.ActionLink()Url.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> 
0

您將其設置爲typesubmit。這意味着瀏覽器應該將您的<form>數據發佈到服務器。

實際上根據w3schools標籤沒有類型屬性。

如此遠程type屬性,它應該爲你工作。

+1

不會太信任[w3fools](http://w3fools.com/) – dtsg

+1

當然,我們都應該信任IE :) – Sly

94

只需使用HtmlHelperActionLink並相應地設置RouteValuesHtmlAttributes

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

如果鏈接僅爲文本,這是推薦的方法。 –

16

因爲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" }) 
    
+2

這應該是公認的答案 – sveilleux2

0

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

14

如果你的目標是使用ActionLink的助手並打開一個新的標籤:

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

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

使用參數名:

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

asp.net的MVC ActionLink的新標籤具有角參數

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