禁用ASP.NET MVC路由以进行Url解析

时间:2014-05-07 12:10:08

标签: asp.net-mvc asp.net-mvc-routing

我在MVC项目中使用以下路由配置:

var json = routes.MapRoute(
    name: "DefaultJson",
    url: "json/{controller}/{action}/{id}",
    defaults: new { ... }
);

json.DataTokens["force-json-result"] = new object();

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { ... }
);

这是在开发环境中使用的,其目的是允许视图设计者在没有Visual Studio的情况下查看传递给视图的整个模型。

如果我使用Url解析器,将使用第一条路线。例如,以下命令

@Url.Action("Action", "Controller")

将打印

/json/Controller/Action

在Url解析期间有没有办法忽略我的第一条路线?

2 个答案:

答案 0 :(得分:2)

一种方法是使用Url.RouteUrl。使用它,您可以指定特定的路由名称,然后生成URL。

答案 1 :(得分:0)

我不知道有什么方法可以做你所要求的但是通过在我的布局页面中添加一个部分来解决问题,该部分将在json中输出模​​型到网站时隐藏的div在开发模式中。

可以获得相同的信息,开发人员无需将URL切换到调试。