c# - 如何更新 ModelStateDictionary 中的错误值?

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

我正在开发一个 ASP.NET MVC 项目,并且希望能够在 ModelStateWrapper 中动态更新错误消息,但问题是没有针对特定键的设置方法,并且字典是只读的。

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                                                
            }
        }
    }
}

有什么想法可以实现这一目标吗?

最佳答案

您可以使用以下方法将错误添加到模型状态字典:

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

要更改错误,您可以执行以下操作:

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

关于c# - 如何更新 ModelStateDictionary 中的错误值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990292/

相关文章:

c# - Unity3d AudioSource无法创建

c# - Decimal.GetHashCode 取决于尾随零

asp.net-mvc - ASP.NET MVC 3 区域 - 无法使用自定义路由找到 View

c# - JSON数据html参数

asp.net-mvc - 如何在将数据插入到 Db 时以 asp.net mvc4 形式自动生成 GUID

asp.net-mvc - MVC 3 和 Razor ,如何在 _layout 中构建带有 _layout 的结构?

c# - 最小化C#中的字符串长度

c# - 我可以在对象构造之外使用对象初始值设定项吗?

c# - MVC C# 网站应用程序中使用的文本区域中的换行符

表单中的 Javascript 验证