我的应用程序具有可以打开和关闭的模块,这些模块通过Html.Partial调用为视图做出贡献。当页面回发到控制器时,我想让模块使用控制器具有的TryUpdateModel之类的东西来处理它们各自的模型。问题是TryUpdateModel是受保护的方法,无法从控制器外部访问。
如何从控制器外部的类中执行类似Controller.TryUpdateModel的操作?
答案 0 :(得分:0)
如果我正确读到这个,听起来你想要部分视图来更新自己。
我通过调用一个动作并在局部视图中返回一个局部视图,与一些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>