相关疑难解决方法(0)

ASP.net MVC自定义路由处理程序/约束

我需要使用以下网址实现一个MVC网站:

  • 类别1 /产物/ 1 /维基
  • 类别1 /产品/ 2 /维基
  • 类别1 /子类别2 /产品/ 3 /维基
  • 类别1 /子类别2 /子类别3 /产品/ 4 /维基
  • 等等

其中匹配条件是url以"wiki"结尾.

不幸的是,下面的catch-all仅适用于url的最后部分:

routes.MapRoute("page1", // Route name
                "{*path}/wiki", // URL with parameters
                new { controller = "Wiki", action = "page", version = "" } // Parameter defaults
Run Code Online (Sandbox Code Playgroud)

我没有时间通过​​MVC扩展性选项,所以我想知道实现这个的可能选择是什么?任何样本/示例都会非常棒!

asp.net-mvc constraints asp.net-mvc-routing

13
推荐指数
1
解决办法
1万
查看次数

MVC Handler用于未知数量的可选参数

我正在使用MVC路由,它将在URL的末尾获取未知数量的参数.像这样的东西:

domain.com/category/keyword1/keyword2/.../keywordN

这些关键字是我们必须匹配的过滤器的值.

到目前为止,我能想到的唯一方法是UGLY ......只需创建一个ActionResult,其参数多于我可能需要的参数:

ActionResult CategoryPage(string urlValue1,string urlValue2,string urlValue3等...){}

这感觉不对劲.我想我可以将它们塞进一个查询字符串中,但后来我丢失了性感的MVC URL,对吧?有没有更好的方法来声明处理程序方法,以便它处理未知数量的可选参数?

必须在Application Start上连接路由,这应该不是那么难.关键字的最大数量可以很容易地从数据库中确定,因此没有大问题.

谢谢!

asp.net-mvc url-routing actionresult asp.net-mvc-routing

3
推荐指数
1
解决办法
1618
查看次数