繁体   English   中英

如何使用ASP.NET MVC更改ModelState中的值,以使其有效?

[英]How do I change a value in the ModelState, so that it will be valid, using ASP.NET MVC?

我目前允许选择列表的初始值为“”。 用户可以选择是填写此选项还是将其保留为默认值。

此selectList适用于ID,ID将传递给我的控制器。 但是,由于未选择int,因此ModelState结果为False,因为输入是空字符串而不是int。

我想将此空字符串的值更改为0.这将导致ModelState为True。 我一直在查看ModelState字典类,以便在检查ModelState之前可以更改键值对。 但是,我无法成功使用它。
https://msdn.microsoft.com/en-us/library/system.web.mvc.modelstatedictionary(v=vs.118).aspx

任何帮助将不胜感激。

尝试使用

ModelState.SetModelValue("PropertyID", new ValueProviderResult("New value", "", CultureInfo.InvariantCulture));

这是一篇有用的文章。

http://geekswithblogs.net/BobHardister/archive/2013/03/11/retain-and-set-posted-checkbox-value-in-the-mvc-4.aspx

你可以删除错误

if (ModelState.ContainsKey("{key}"))
    ModelState["{key}"].Errors.Clear();

if (ModelState.IsValid)
{
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM