我有一个视图模型ViewModel1,它具有我视图的所有功能。
在我看来,我需要2个文本框,这些文本框将在AJAX调用中用于另一个具有不同参数的操作,然后是我当前所在的视图。
这就是我想要的代码:
@using(Ajax.BeginForm("AjaxAction", "Home", new { TestId = Model.TestId }, new BOHAjaxOptions(), new { id = "newform", name = "newform" }))
{
@Html.TextBoxFor<DIFFERENT VIEW MODEL>(model => model.FIELD1)
@Html.TextBoxFor<DIFFERENT VIEW MODEL>(model => model.FIELD2)
<a href="#" onclick="javascript:$('#newform').submit();">Submit</a>
}
我认为这是有意义的,因为我希望能够在不同控制器的不同视图上使用“AjaxAction”动作,因为这个动作将从网站上的多个部分调用。
或者我在这里看不到合适的照片?我应该在所有需要调用此AJAX操作的ViewModel中包含FIELD1和FIELD2吗?
答案 0 :(得分:1)
您应该在视图模型中包含视图所需的所有数据,包括可能作为单独模型发布回另一个操作的数据。注意,通常在实体模型和视图模型之间不存在一对一的对应关系。几乎在所有情况下,我的视图模型都包含视图所关注的主要实体的更多或更少的数据。