2016-09-24 30 views
1

的特殊含義,正如你知道的,當我們想去中的項目是由什麼是ID的MVC

@Html.ActionLink("Details", "Details", new { id=item.Id }) 

http://localhost:xxxx/Item/Details/1

我們應該稱之爲「1」參數來實現?它不是查詢字符串參數,但它是什麼? mvc是否將此參數解釋爲查詢字符串參數?

而另一件事是,當我設置鏈接如下:

@Html.ActionLink("Edit", "Edit", new { itemIdNo=item.Id }) 

MVC創建此鏈接爲:

http://localhost:xxxx/Item/Details?itemIdNo=1

正如你看到的,他們有很大的不同。 「id」參數在MVC中有特殊含義嗎?

我們應該稱之爲「1」參數?它不是查詢字符串參數,但它是什麼?

是否mvc將此參數解釋爲查詢字符串參數?

+4

查看路線表 – Satpal

+2

這不是特別的。這完全取決於你設定的路線 –

回答

4

在你RouteConfig.cs,它調整爲"id"

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

如果你想改變它,你可以改變{id}參數作爲{itemIdNo}id參數「默認值:」行爲itemIdNo

2

這是一個url路徑參數。名稱標識用於與控制器操作上的參數相同的名稱進行匹配。你可以使用任何你的名字,就像你在第二個例子中那樣。 您可以在路線動作中指定id值應來自哪裏,身體,網址等