我有以下控制器和路線定義MVC 5路由和可選參數
[System.Web.Mvc.Route("users/{firstName?}/{lastName?}/{emailAddress?}/{pageSize:int=10}/{pageNumber:int=1}", Name = RouteNames.User_Listing)]
public ActionResult Index(string firstName = null, string lastName = null, string emailAddress = null, int pageNumber = 1, int pageSize = 10)
我想爲任何這些不確定或定義,因此所有這些將是有效的
users/first/last/email
users/last/email/30/2
users/last/1
users
問題是,MVC如何知道哪些參數已被指定?它不!
當我有這個鏈接
@Html.RouteLink("Maintain Users", RouteNames.User_Listing)
它並不導航到該操作方法。我該怎麼辦?
這實際上是因爲他希望能夠指定「... /用戶/史密斯」,並有路由弄清楚,它需要設置沒有做任何事情來解決OP的問題「firstName」等於null並且設置「lastName」等於「Smith」。正如Brad在他的回答中指出的那樣,你不能通過路由來實現。 –
也許你是對的 - 我多次重讀這個問題,這不是很清楚 –