【发布时间】:2012-12-23 07:17:13
【问题描述】:
假设我有模型
public class ViewModel
{
[Required]
[Display(Name = "Email address")]
public string Email { get; set; }
public string ExtraData{ get; set; }
}
ExtraData 只是在 GET 操作中添加的一些额外文本:
[HttpGet]
public ActionResult ActionMethod()
{
ViewModel modelWithExtraData= new ViewModel{ ExtraData = "Some extra data." };
return PartialView("MyView", modelWithExtraData);
}
并在视图中呈现如下:
<form>
@Html.TextBoxFor(m => m.Email)
<div>@Model.ExtraData</div>
<form>
当此表单发布到控制器时,我希望额外数据“一些额外数据”保持完整并与模型一起发布,但这不会发生。
[HttpPost]
public ActionResult ActionMethod(ViewModel model)
{
//model.ExtraData = null ... Not good
}
我查看了所有 @Html 辅助方法,但似乎找不到合适的方法来简单地显示文本(不可编辑)并将其发回。
【问题讨论】:
-
我想知道为什么一个完全有效的问题会被否决。也许投反对票的人可以解释他的理由。
标签: asp.net-mvc-4 model-binding