Как попробовать UpdateModel из-за пределов контроллера в MVC3 - PullRequest
0 голосов
/ 06 марта 2012

Мое приложение имеет модули, которые можно включать и выключать, и эти модули вносят свой вклад в представление с помощью вызовов Html.Partial. Когда страница отправляется обратно в контроллер, я хочу, чтобы модули позаботились о своих отдельных моделях, используя что-то вроде TryUpdateModel, которое есть в контроллере. Проблема в том, что TryUpdateModel является защищенным методом и недоступен извне контроллера.

Как я могу сделать что-то вроде Controller.TryUpdateModel из класса вне контроллера?

1 Ответ

0 голосов
/ 06 марта 2012

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

Я сделал нечто подобное с некоторым jQuery, вызвав действие и вернув частичное представление внутри частичного представления. Вводный

Простой пример. - действительно просто

_partialViewStart.cshtml

<div id="partialFillerResult">
</div>
<script type="text/javascript">
    $(document).ready(function() {
        loadPartialViewFiller();
    });
    function loadLatestTribes() {
        $("#partialFillerResult").load("@Url.Action("PartialViewFiller", "Home")").fadeIn("slow");
        setTimeout(loadPartialViewFiller, 5000);
    }
</script>

HomeController.cs

public ActionResult PartialViewFiller()
{
    var yourModel = new ExpandoObject();

    if (yourModel == null) return PartialView("_empty");
    return PartialView("_partialViewFiller", yourModel);
}

_partialViewFiller.cshtml

@model dynamic
<div class="objectWrapper">
    <p>
        @Model.Name
    </p>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...