我有一个 MVC4 项目,并且我有一个外部项目,它会发送引用站点区域的电子邮件。
我不想将 url 硬编码到电子邮件中,而是希望能够确保我从路由中获得规范的 url。我可以参考 MVC 项目,这意味着我相信我应该能够获得它拥有的任何编译时间信息(包括路由和事物)。
我已经设法创建了一个RouteCollection
并用我的路线填充它,但我现在正在努力如何查询这个集合。我找到的唯一方法是RouteUrl
方法,UrlHelper
但这需要一个UrlHelper
我无法创建的适当路由数据。我也希望有更好的方法可用于查询路由集合。
基本上我有这条路线:
routes.MapRoute
(
"ShowBlog",
"blog/{shortcode}/{slug}",
new { controller = "Blog", action = "ShowBlog", shortcode = "", slug = "" }
);
我想要一些这样GetUrl("ShowBlog", new {shortcode = "foo", slug="bar"})
的代码会返回blog/foo/bar
。
那么我该怎么做呢?