.net MVC使用可选参数路由到控制器

时间:2010-04-09 20:51:46

标签: asp.net asp.net-mvc routing asp.net-mvc-routing

我对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

1 个答案:

答案 0 :(得分:0)

关于这一点并实现了这个明显的解决方案......

localMembersSearch("Gender", "Calling", "null", "null", "null", "queryvalues")

我的控制器方法检查相关的地区,县,镇数据,这样就可以了

truegilly