Как я маршрутизирую это в ASP.NET MVC - PullRequest
0 голосов
/ 12 августа 2011

Я новичок в MVC.

У меня есть контроллер для некоторых диаграмм (ChartsController), где у меня есть результат действия

public ActionResult TheChart { ...etc

У меня тогда естьВид, который отображает диаграмму (это диаграмма Highcharts с использованием JavaScript).Это вызывает его данные через это

public JsonResult GetData(string id) { ..etc

Все работает хорошо.

Теперь я хочу добавить параметр, чтобы я мог слегка изменить свой JavaScript в представлении для определенных условий.(Дисплей для печати) Я думал что-то вроде

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

Тогда я могу получить это в представлении.

Проблема в том, что теперь мой JsonResult не работает (думаю, из-за маршрутизации).Есть идеи как решить это?

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

это потому, что у вас есть (string mediaType)

вам нужен новый маршрут, подобный следующему:

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

это идет внутри вашего файла Global.asax, если вы не использовали этиеще.

0 голосов
/ 12 августа 2011

Это просто опечатка или вы действительно написали if (mediaType="print"){? Отсутствует знак равенства.

...