Как я могу использовать Html.Action? - PullRequest
39 голосов
/ 16 января 2012

Я пытаюсь понять, как использовать:

@Html.Action("GetOptions", )

Что я хотел бы сделать, это передать вызов моему контроллеру и передать параметры:

pk = "00" and rk = "00"

Можеткто-нибудь объяснить, как я могу сделать это с помощью Html.Action

Ответы [ 3 ]

43 голосов
/ 16 января 2012

Обратите внимание на документацию по методу Action ;это хорошо объясненоВ вашем случае это должно работать:

@Html.Action("GetOptions", new { pk="00", rk="00" });

Параметр controllerName по умолчанию будет соответствовать контроллеру, из которого вызывается Html.Action.Поэтому, если вы пытаетесь вызвать действие из другого контроллера, вам нужно указать имя контроллера следующим образом:

@Html.Action("GetOptions", "ControllerName", new { pk="00", rk="00" });
9 голосов
/ 16 января 2012

сначала создайте класс для хранения ваших параметров:

public class PkRk {
    public int pk { get; set; }
    public int rk { get; set; }
}

затем используйте Html.Action, передавая параметры:

Html.Action("PkRkAction", new { pkrk = new PkRk { pk=400, rk=500} })

и использование в контроллере:

public ActionResult PkRkAction(PkRk pkrk) {
    return PartialView(pkrk);
}
0 голосов
/ 04 июня 2018

Другой случай - перенаправление http. Если ваша страница перенаправляет http-запросы на https, возможно, ваше частичное представление пытается перенаправить само.

Это снова вызывает ту же проблему. Для решения этой проблемы вы можете реорганизовать свои страницы ошибок .net или конфигурацию страниц ошибок iis.

Просто убедитесь, что вы перенаправляете запросы на правильную страницу с ошибкой или на не найденную страницу, и убедитесь, что эта страница с ошибками содержит частичные неполадки. Если ваша страница поддерживает только https, не пересылайте запросы на страницу ошибок без использования https, если страница ошибок содержит частичные данные, эти партиалы пытаются отдельно перенаправить с запрошенного URL-адреса, это вызывает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...