用户单击我页面的提交按钮后,会有一个经过验证的文本框,如果它无效,我会使用该ModelState.AddModelError方法显示错误消息.我需要替换此文本框的值,并将包含错误消息的页面显示回用户.
问题是我无法更改文本框的值,我正在尝试ViewData["textbox"] = "new value";但它被忽略了...
我怎样才能做到这一点?
谢谢
您可以使用ModelState.Remove(nameOfProperty),如:
ModelState.Remove("CustomerId");
model.CustomerId = 123;
return View(model);
Run Code Online (Sandbox Code Playgroud)
这会奏效.
我也不知道答案,检查ModelState对象并发现:
ModelState.SetModelValue()
我的模型有一个我检查的Name属性,如果它是无效的,则会发生这种情况:
ModelState.AddModelError("Name", "Name is required.");
ModelState.SetModelValue("Name", new ValueProviderResult("Some string",string.Empty,new CultureInfo("en-US")));
Run Code Online (Sandbox Code Playgroud)
这对我有用.
| 归档时间: |
|
| 查看次数: |
4471 次 |
| 最近记录: |