如何更新ModelStateDictionary中的错误值?

时间:2015-01-16 18:19:02

标签: c# asp.net-mvc asp.net-mvc-3 model-view-controller

我正在研究MVC项目,并希望能够在ModelStateWrapper中动态更新错误消息,但问题是没有特定键的设置方法,而且dictionarry是readonly。

            var x = new ModelStateDictionary(this.ModelState);

            foreach (var item in x.modelState)
            {
                    if (item.Value.Errors.Count > 0)
                    {
                        foreach (var y in err.errors)
                        {
                            if (item.Key == y.Key)
                            {
                               //Some magic needed here to update error name with y.Key                                }
                        }
                    }

                }

任何想法如何实现?

1 个答案:

答案 0 :(得分:2)

您可以使用以下命令向模型状态字典添加错误:

ModelState.AddModelError("ErrorKey", "Error Message");

要更改您可以执行的错误:

ModelState.Remove("ErrorKey");
ModelState.AddModelError("ErrorKey", "New Error Message");