MVC3 - Почему метод GET в контроллере не вызывается при частичном рендеринге? - PullRequest
1 голос
/ 25 марта 2012

Я создал частичное представление, abc в Моих представлениях / Главная страница

добавил это в мой контроллер

[HttpGet]
public ActionResult abc()
{
return View();
}

и я называю частичное представление следующим образом

@Html.Partial("~/Views/Home/abc.cshtml")

Я могу видеть частичное представление, но метод контроллера не вызывается. Как я могу сделать частичное представление и вызвать метод get контроллера?

Ответы [ 2 ]

4 голосов
/ 25 марта 2012

Я думаю, вы ищете метод Html.Action (на MSDN ):

Вид:

@Html.Action("abc", "Home")

Контроллер:

[HttpGet]
public ActionResult abc()
{
    return PartialView();
}
3 голосов
/ 25 марта 2012

Контроллер отображает вид.У вас явно есть контроллер, который отображает ваш родительский вид (тот, который содержит @Html.Partial в нем. Partial просто объединяет частичное представление с текущим представлением, поэтому дополнительный контроллер недоступен.

Подумайте об этомВы на самом деле не указываете действие, не так ли? Вы указываете только представление. Представления не могут быть отрисованы сами по себе.

То, что вы хотите, это @Html.Action(), который визуализируется на основе действия контроллера.

...