我有以下区域路线设置。
context.MapRoute(
"Admin_default3",
"Admin/{controller}/{action}/{id}/{id2}/{id3}",
new { action = "Index" }
);
context.MapRoute(
"Admin_default2",
"Admin/{controller}/{action}/{id}/{id2}",
new { action = "Index"}
);
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
当命中控制器动作时,我会执行以下操作,将params放入可读变量名称中。
public ActionResult Search(Guid? id, int? id2, bool? id3)
{
Guid? source = id;
int daysOld = id2;
bool includeNonEnglish = id3;
//.... Action!
}
我应该继续这样吗?我应该创建过多的路线吗?
谢谢
答案 0 :(得分:3)
我会创建更多路线。这样,你就有了:
Html.ActionLink(title, "Action", "Controller", new { source = <value>, daysOld = <value>, includeNonEnglish = <value> });
而不是:
Html.ActionLink(title, "Action", "Controller", new { id = <value>, id2 = <value>, id3 = <value> });
除此之外(比如使用jQuery进行AJAX调用,使用Json来指定参数)。它会使事情更具可读性。如果您正在使用或将要使用T4MVC,它也会有所帮助。