我对MVC路由有疑问。
我有一个控制器方法,使用许多不同的URL组合调用。为了解决问题,我正在使用可选参数。
这是我的控制器方法签名......
public ActionResult localMembersSearch(string Gender, string calling, [Optional]string Region, [Optional]string County, [Optional]string Town, [Optional]string queryvalues)
前两个参数不是可选的,但始终是预期的。
这是我的URL路线..
routes.MapRoute(
"memberDataSort",
"MemberSearch/UKMembers/{Gender}/{Calling}/options/{*queryvalues}",
new { controller = "MemberSearch", action = "localMembersSearch", Gender = "", Calling = "", Region = "", County = "", Town = "", queryvalues = "" }
);
现在我想要的是能够说放置{* queryvalues}的字符串被设置为参数'queryvalues'。
目前发生的事情是控制器被调用“性别”,“呼叫”和“地区”。
路径中是否有一种方式可以说明,用{* queryvalues}填充'queryvalues'参数?
所以控制器会收到下面的签名......
localMembersSearch(“性别”,“呼叫”,“”,“”,“”,“查询值”)
任何帮助都是最常见的;)
Truegilly
答案 0 :(得分:0)
关于这一点并实现了这个明显的解决方案......
localMembersSearch("Gender", "Calling", "null", "null", "null", "queryvalues")
我的控制器方法检查相关的地区,县,镇数据,这样就可以了
truegilly