2015-03-18 4 views
0

В свете ClimateChartController я этот код:в бритве посмотреть вызов метода другого контроллера и передачу параметров

@Html.ActionLink("Kies land", "ListCountries", "Continent" new {Selectedyear = @ViewBag.SchoolYear, continentId = @ViewBag.ContinentId}) 

Так что это должно пойти к методу ListCountries в ContinentController, наряду с заданными параметрами.

Сейчас это не работает, если я делаю это без параметров она идет к методу, но хорошо, мне нужны параметры ...

На данный момент я решил это, используя следующий метод в ClimateChartController:

public ActionResult ListCountries(int selectedyear, int continentid) 
     { 
      return RedirectToAction("ListCountries", "Continent", 
       new { selectedYear = selectedyear, continentId = continentid }); 
     } 

Это работает по назначению, но вызывает загромождение кода и не является опрятным.

Так как я могу вызвать метод другого контроллера и передать некоторые параметры?

ответ

0

Попробуйте это:

@Html.ActionLink("Kies land", "ListCountries", "Continent" , null, new {Selectedyear = @ViewBag.SchoolYear, continentId = @ViewBag.ContinentId}) 

ИЛИ:

Html.ActionLink("Kies land", "ListCountries", "Continent", new {Selectedyear = @ViewBag.SchoolYear, continentId = @ViewBag.ContinentId}, null) 

Есть возможные решения здесь:

Why does Html.ActionLink render "?Length=4"

+0

Я alrey попробовал первое решение и дал, что не сделал работа, вторая делает, спасибо! –