Asp.net mvc 4 当搜索参数为null或空白时,MVC4路由问题
我面临的问题与路线和显示例外。这是由于当参数为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->这里是测试的标题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
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的标题值,而不是标题需要显示为空。