2010-02-10 64 views
0

我想要根据查询参数值处理请求的不同动作。ASP MVC - 根据查询参数调用不同的动作处理程序?

例如:

mydomain.com/controller/action?version=1 & MSG =你好

mydomain.com/controller/action?version=2 & MSG = 5

应根据版本值转到不同的处理程序。

查询列表PARAMS所需/可选的,以及它们的类型可能会改变 - 在版本= 1,味精是一个字符串,在版本= 2这是一个整数

回答

2

你可以使用Route Constraints

routes.MapRoute("first", "/controller/action/{version}/{msg}", 
    new {controller = "controller", action = "action", 
     version = String.Empty, msg = String.Empty}, 
    new {version = "1"}); 

routes.MapRoute("first", "/controller/action/{version}/{msg}", 
    new {controller = "controller", action = "action2", 
     version = String.Empty, msg = String.Empty}, 
    new {version = "2"});