我如何在ASP.NET MVC中进行路由

时间:2011-08-12 10:05:39

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

我是MVC新手。

我有一些控制器用于某些图表(ChartsController),我有一个动作结果

public ActionResult TheChart { ...etc

然后我有一个显示图表的视图(使用javascript的Highcharts图表)。这通过此

调用其数据
public JsonResult GetData(string id) { ..etc

一切运作良好。

我想现在添加一个参数,以便在某些条件下我可以在视图中稍微更改我的javascript。 (显示打印) 我在想像

public ActionResult TheChart(string mediaType)
{ 
     if (mediaType="print"){
            ViewData["pdf"] = true;
     }
}

然后我可以在视图中抓住这个。

问题是现在我的JsonResult不起作用(我认为由于路由)。 有关如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:0)

这只是一个错字或你真的写if (mediaType="print"){吗?缺少一个等号。

答案 1 :(得分:0)

这是因为你有(string mediaType)

你需要的是这样的新路线:

routes.MapRoute("all-user", "Controller/TheChart/{mediaType}",
                        new { controller = "Controller", action = "TheChart"});

这会进入你的Global.asax文件,因为你尚未使用它们。