假设我有两个ViewModel,A和B。
public class ViewModel_A {...};
public class ViewModel_B {...};
每个视图模型都有自己的GET和POST函数,与该ViewModel的局部视图相对应。这些都是单个较大视图的一部分。
查看
<body>
<div id="PartialView_A">
@{Html.RenderAction("PartialView_A");}
</div>
<div id="PartialView_B">
@{Html.RenderAction("PartialView_B");}
</div>
</body>
型号
//GET View Model A
public ActionResult PartialView_A() {...}
//POST View Model A
[HttpPost]
public ActionResult PartialView_A(ViewModel_A) {
//CODE - Update Model A
//CODE - Update Model B
//CODE - Send a callback of some sort to the client?
return View("partial_viewA", ViewModel_A);
}
//GET View Model B
public ActionResult PartialView_B() {...}
//POST View Model B
[HttpPost]
public ActionResult PartialView_B(ViewModel_B) {
return View("partial_viewB", ViewModel_B);
}
需要根据ViewModel A中的数据更新ViewModel B中的数据。反之则不成立。因此,将ViewModel A发布到服务器时,必须更新Partial View A和Partial ViewB。
为了使我的视图和代码更加模块化和灵活,并减少消耗的带宽,我选择在ViewModel A中不设置ViewModelB。
服务器是否可以通过告诉服务器为客户端提供更新的ViewModel B来告诉客户端调用部分视图B的POST函数?