Ниже мой взгляд, модельMVC: не в состоянии обратной передачи ViewModel к контроллеру
public class ModelA
{
public string name {get;set;}
public string age {get;set;}
public ModelB modelB {get;set;}
}
Вот частичный вид: _PartialView
@model ModelB
@*Bind all the into control*@
@Html.EditorFor(model => model.Name1)
@Html.EditorFor(model => model.Name2)
@Html.EditorFor(model => model.Name3)
Вот вид
@model ModelA
using (Ajax.BeginForm("ActionName", "AreaName", new AjaxOptions()
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
OnSuccess = "BusinessPartner",
OnFailure = "ErrorThrown"
}, new { name = "My App", id = "My App" }))
{
@Html.EditorFor(model => model.name)
@Html.EditorFor(model => model.age)
@Html.Partial("_PartialView", Model.modelB)
<input type="submit" class="btn btn-primary tabSubmit tab1" id="tab1Next" value="Save and Proceed" />
}
Когда я postback для контроллера, я могу получить значение в ModalA, но ModalB имеет значение null. Если я передам всю модель вместо Model.modelB в частичный вид, я могу получить все значение. Является ли это ожидаемым поведением для MVC? или мне нужна какая-либо конфигурация?
где ваш код действия вашего контроллера? –
, если вы используете частичный вид, подобный этому, тогда вы должны использовать оба режима просмотра в параметре acton, например. public ActionResult MyAction (ModelA modelA, ModelB modelB) –