Asp.net mvc 4 当搜索参数为null或空白时,MVC4路由问题

Asp.net mvc 4 当搜索参数为null或空白时,MVC4路由问题,asp.net-mvc-4,routes,global-asax,Asp.net Mvc 4,Routes,Global Asax,我面临的问题与路线和显示例外。这是由于当参数为null或空白时-此处当标题为空白时,则发出 问题URL:http://{ParentURL}/Admin/Menu/AddEdit/299921b2-3d7b-4e0a-b23e-5838f9b78654/1-标题为空时 工作良好的URL:http://{ParentURL}/Admin/Menu/AddEdit/Test/299921b2-3d7b-4e0a-b23e-5838f9b78654/1->这里是测试的标题 context.MapRou

我面临的问题与路线和显示例外。这是由于当参数为null或空白时-此处当标题为空白时,则发出

问题URL:http://{ParentURL}/Admin/Menu/AddEdit/299921b2-3d7b-4e0a-b23e-5838f9b78654/1-标题为空时

工作良好的URL:http://{ParentURL}/Admin/Menu/AddEdit/Test/299921b2-3d7b-4e0a-b23e-5838f9b78654/1->这里是测试的标题

context.MapRoute(
                    "AdminOperation",
                    "Admin/{controller}/{action}/{title}/{id}/{pageno}",
                    new { action = "AddEdit", id = UrlParameter.Optional, pageno = UrlParameter.Optional, title = UrlParameter.Optional }
                );
//控制器方法

public ActionResult AddEdit(string id,  string title, int? pageno)
{
}
请帮我一下


关于

如果
标题
有时可能是
空的
,在我看来,更好的方法是在没有它的情况下再添加一条
路线
,并将其放在您提到的
路线
之前:

context.MapRoute(
           "AdminOperationShort",
           "Admin/{controller}/{action}/{id}/{pageno}",
         new { action = "AddEdit", id = UrlParameter.Optional, pageno = UrlParameter.Optional});  


     context.MapRoute(
           "AdminOperation",
           "Admin/{controller}/{action}/{title}/{id}/{pageno}",
           new { action = "AddEdit", id = UrlParameter.Optional, pageno = UrlParameter.Optional, title = UrlParameter.Optional }
                        );

如果
title
有时可能是
null
,在我看来,更好的方法是在没有它的情况下再添加一条
route
,并将其放在您提到的
route
之前:

context.MapRoute(
           "AdminOperationShort",
           "Admin/{controller}/{action}/{id}/{pageno}",
         new { action = "AddEdit", id = UrlParameter.Optional, pageno = UrlParameter.Optional});  


     context.MapRoute(
           "AdminOperation",
           "Admin/{controller}/{action}/{title}/{id}/{pageno}",
           new { action = "AddEdit", id = UrlParameter.Optional, pageno = UrlParameter.Optional, title = UrlParameter.Optional }
                        );

您可以显示控制器代码吗?添加了控制器方法“问题URL”中的标题不会为空,它将绑定到“299921b2-3d7b-4e0a-b23e-5838f9b78654”。路由占位符仅根据传入URL中值的顺序匹配。您是在问如何处理缺少值的错误,还是在问URL中缺少值的原因?我是在问如果标题为空,那么如何在不创建新路径的情况下管理所述路径?您可以显示控制器代码吗?添加控制器方法“问题URL”中的标题不会为空,它将绑定到“299921b2-3d7b-4e0a-b23e-5838f9b78654“。路由占位符仅根据传入URL中值的顺序匹配。您是在问如何处理缺少值的错误,还是在问URL中缺少值的原因?我是在问标题是否为空,如何在不创建新路由的情况下管理上述路由?此处使用您的方式将在控制器方法中显示Id的标题值,而不是标题需要显示为空。此处使用您的方式将在控制器方法中显示Id的标题值,而不是标题需要显示为空。