mvc查询字符串中包含action?

2019-01-03 02:13发布

我在做一个第三接口的开发,对方发给我的url类似:/order/1001?action=order

我需要把它映射到Order控制器的Create方法中

context.MapRoute(
"CreateOrder",
"Order/{code}",
new { controller = "Order", action = "Create" }
);

Create方法如下:

public ActionResult Create(string code,string action)

Create方法的参数action的值,我希望是查询字符串中action的值,但是现在的得到的值都是"Create",有什么办法可以使action的值自动取查询字符串对应的值。

我现在是这个做的:

action = this.HttpContext.Request.QueryString["action"];

有其他更好的方法吗?

标签: mvc MapRoute
4条回答
我命由我不由天
2楼-- · 2019-01-03 02:44

已辞职 就这样吧

查看更多
Ridiculous、
3楼-- · 2019-01-03 02:44

context.MapRoute(
"CreateOrder",
"Order/{code}?action={action}",
new { controller = "Order", action = "Create" }
); url中没有给action

查看更多
太酷不给撩
4楼-- · 2019-01-03 02:49

c辞职神速啊

查看更多
放我归山
5楼-- · 2019-01-03 02:51

最简单就是通过QueryString来获取。也可以继承FilterAttribute自己写个过滤器,当然内部也只能通过QueryString获取到值然后在赋值给action参数。

web api没有这个问题

查看更多
登录 后发表回答