Man*_*kar 1 razor asp.net-mvc-3
@using (Ajax.BeginForm("SaveItemAndProperties", "HomeBuilder",
new AjaxOptions
{
UpdateTargetId = "divSaveItemAndProps",
InsertionMode = InsertionMode.Replace
}))
{
@Html.EditorForModel()
<input type="submit" value="Submit" />
}
Run Code Online (Sandbox Code Playgroud)
在从EditorForModel调用的Model中
@Html.EditorFor(m => m.PropertyValues)
Run Code Online (Sandbox Code Playgroud)
PropertyValues是一个属性列表,是一个调用EditorTemplate.
从Action我改变了值,然后尝试将数据更新回View
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public PartialViewResult SaveItemAndProperties(PropertyBuilderViewModel modelValues)
{
//Change on property in modelValues
return PartialView("PropertyBuilderControl", modelmodelValues);
}
Run Code Online (Sandbox Code Playgroud)
当我调试时,我看到数据属性,但它不会显示在视图中.不知道为什么会这样做.
Dar*_*rov 10
你的行动有什么变化?HTML佣工如TextBoxFor,HiddenFor,DropDownListFor,CheckBoxFor,...绑定,当第一次看的ModelState后,在模型中.因此,如果在您的控制器操作中,您打算执行以下操作:
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public PartialViewResult SaveItemAndProperties(PropertyBuilderViewModel modelValues)
{
modelValues.Foo = "some new value";
return PartialView("PropertyBuilderControl", modelmodelValues);
}
Run Code Online (Sandbox Code Playgroud)
确保从模型状态中删除该值,或者在再次渲染视图后不会看到任何更新:
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public PartialViewResult SaveItemAndProperties(PropertyBuilderViewModel modelValues)
{
ModelState.Remove("Foo");
modelValues.Foo = "some new value";
return PartialView("PropertyBuilderControl", modelmodelValues);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |