簡體   English   中英

在MVC視圖中創建ActionLink

[英]Creating ActionLink in MVC View

我是MVC的新手,所以請原諒我可能不正確使用術語。

在我的MVC應用程序的RouteConfig.cs文件中,有以下路由。

  routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
   );

關鍵是:

url: "{controller}/{action}/{id}"

因此,我遵循了在默認應用程序模板中創建的創建ActionLink的示例,並將以下行拼湊在一起:-

<p>@Html.ActionLink("portfolio details", "Detail", "Portfolio", new { portfolioId = portfolio.PortfolioId } , new { @class = "btn btn-default" })</p>

但是,這給了我URL:-

http://localhost:xxxxx/Portfolio/Detail?portfolioId=174198

如果我不希望ID在QueryString參數中,那么如何創建鏈接以匹配route.MapRoute中期望的模式,以便獲得URL鏈接,例如:-?

HTTP://本地主機:XXXXX /組合/詳細信息/ 174198

你可以用這種方式

<p>@Html.ActionLink("portfolio details", string.Format("Detail/{0}", portfolio.PortfolioId ), "Portfolio", null, null)</p>

假設您的控制器操作具有參數id則可以執行以下操作:

<p>@Html.ActionLink("portfolio details", "Detail", "Portfolio", new { id = portfolio.PortfolioId } , new { @class = "btn btn-default" })</p>

這應該給您:

http://localhost:xxxxx/Portfolio/Detail/174198

這會將174198作為id參數傳遞給控制器​​動作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM