TextBoxFor <different view =“”model =“”>()用于AJAX操作?</different>

时间:2011-03-13 03:04:24

标签: c# asp.net-mvc asp.net-ajax

我有一个视图模型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吗?

1 个答案:

答案 0 :(得分:1)

您应该在视图模型中包含视图所需的所有数据,包括可能作为单独模型发布回另一个操作的数据。注意,通常在实体模型和视图模型之间不存在一对一的对应关系。几乎在所有情况下,我的视图模型都包含视图所关注的主要实体的更多或更少的数据。