我正在使用ASP.Net MVC。這裏是我的代碼片段從命名課程控制器:當構建URL時,URL.Action包含id
public ActionResult List(int id)
{
var viewmodel.ShowUrl = Url.Action("Show", "Course");
...
}
public ActionResult Show(int id)
{
...
}
viewmodel.ShowUrl拿起任何值是「ID」參數。所以viewmodel.ShowUrl變成「/ Course/Show/151」(id的值是151);我希望能夠根據用戶交互設置客戶端上的ID部分。我希望viewmodel.ShowUrl的值爲「/ Course/Show」。
這對我來說似乎是一個錯誤。我不告訴Url.Action包含一個id值。它是靠它自己做的。如果我想設置id值,那麼我會做這樣的事情:
var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});
那麼,你如何防止MVC添加id值?我可以將viewmodel.ShowUrl硬編碼爲「/ Course/Show」,但這似乎是一個非常糟糕的解決方案。謝謝。
我不能確切地remeber但'Routedata'是'ViewData',這就是爲什麼它的通過。我認爲你可以在'ViewData'對象上做'Url.Action(「Show」,「Course」,new {});'或者清空'RouteData'。 – 2013-08-12 17:15:46