我是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不起作用(我认为由于路由)。 有关如何解决这个问题的任何想法?
答案 0 :(得分:0)
这只是一个错字或你真的写if (mediaType="print"){
吗?缺少一个等号。
答案 1 :(得分:0)
这是因为你有(string mediaType)
你需要的是这样的新路线:
routes.MapRoute("all-user", "Controller/TheChart/{mediaType}",
new { controller = "Controller", action = "TheChart"});
这会进入你的Global.asax文件,因为你尚未使用它们。