[英]MVC5 Routing with two parameters in an Area
我有一個稱為新聞的區域,在該區域內有一個后控制器。 后控制器具有以下操作:
public ActionResult Index(int id, string name)
{
...
}
我在NewsAreaRegistration中有一條路線
context.MapRoute(
"News_post",
"News/{controller}/{id}/{name}",
new { action = "Index", controller = "Post",name = UrlParameter.Optional }, new { id = @"\d+"}
);
我也嘗試過不使用name對象屬性,使用和不使用id @“ \\ d +.。在另一個站點上,我使用完全相同的設置進行了嘗試,只是對為什么它無法按預期工作感到困惑。
現在首先,該操作將解決:
http://example.com/News/Post/Index/3
當我想解決
http://example.com/News/Post/3
然后,我也希望最后使用此字符串參數,因此它應該解析為
http://example.com/News/Post/3/test-post
但改為解決
http://example.com/News/Post/Index/3?test-post
我對這個路由東西感到完全的噩夢。 我試圖弄亂“路由”屬性,但在區域方面沒有運氣...有什么主意嗎?
因此,我通過使“路線”看起來像這樣來解決了部分問題:
context.MapRoute( "News", "News/Post/{id}/{name}", new { action = "Index", controller = "Post" }, new { id = @"\\d+" } );
所以我刪除了name參數的UrlParamter.Optional。 我需要真正弄清楚其中一些路線的工作方式。 有時它是如此簡單,但是其他人卻無法用它來做最簡單的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.