【发布时间】:2016-11-22 11:46:00
【问题描述】:
我有一个 asp.net MVC 网站,我有这个网址:
Home/Index/
我想要执行一项操作,目前我正在使用查询字符串执行此操作,如下所示:
Home/Index/?action=1
然后我将使用 Request.QueryString["action"] 在我的代码中获取它。
但这看起来不像它应该的那么好,我想要这样的东西:
Home/Index/Action
所以查询字符串将是第三个参数。我怎样才能这样使用它并检查第三个参数是否存在,以及它的名称?
我的路线是这样配置的:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我是否需要更改路线上的任何内容,或者我可以输入我想要的方式,如果需要,我如何检索此值?
编辑:
好的。我想做的是根据这个参数在视图中产生不同的结果。
我现在所做的是创建两个 ActionResults,它们使用相同的 View 向 ViewData 发送不同的值。
【问题讨论】:
-
我认为您可以通过使用带有 asp.net web api 2.asp.net/web-api/overview/web-api-routing-and-actions/… 的路由属性来实现它,这里是 mvc 属性路由的详细信息blogs.msdn.microsoft.com/webdev/2013/10/17/…
标签: c# asp.net asp.net-mvc routes