所以我的情况是我正在基于视图中的文本框填充模型。我的代码是这个
查看:
@model LiteModel
@using (Html.BeginForm())
{
<label>Lite ID</label>
@Html.TextBoxFor(model => model.LiteId)
<br />
<label>Width</label>
@Html.TextBoxFor(model => model.BaseSize);
<br />
<label>Height</label>
@Html.TextBoxFor(model => model.HeightSize);
<br />
<input type="submit" class="right" />
<br />
}
控制器:
[HttpPost]
public IActionResult Index([FromForm]LiteModel model)
{
model = LoadLiteInfo(model);
return View(model);
}
型号:
namespace LiteViewer.Models
{
public class LiteModel
{
public string LiteId { get; set; }
public string ShapeId { get; set; }
public double BaseSize { get; set; }
public double HeightSize { get; set; }
}
}
现在,我知道LoadLiteInfo方法可以按预期的方式工作,它会按需填充模型对象。但是由于某种原因,模型中的更改未反映在视图中。我无法确定为什么它不起作用。
答案 0 :(得分:1)
如果您要更改发布的模型,则需要致电ModelState.Clear()
。