繁体   English   中英

我如何在 ASP.NET MVC 中路由这个

[英]How do I route this in ASP.NET MVC

我是 MVC 新手。

对于某些图表(ChartsController),我有一个 controller,我有一个操作结果

public ActionResult TheChart { ...etc

然后我有一个显示图表的视图(它是一个使用 javascript 的 Highcharts 图表)。 这通过 this 调用它的数据

public JsonResult GetData(string id) { ..etc

一切正常。

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

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

然后我可以在视图中抓取它。

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

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

这是因为你有 (string mediaType)

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

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

如果你还没有使用过这些,这会在你的 Global.asax 文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM