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