Asp.net mvc 4 无原因获取EntityValidationErrors
我将MVC4与EntityFramework 5一起使用 在这个例子中,在我尝试用简单的表单参数保存一个新的“Contact”对象之后,我得到了两个EntityValidationError 其中一个联系人属性是“地址”,该属性在同一视图中填充(使用其他联系人的属性) 当我提交表单时,我会得到一个全新的联系人对象,该对象具有与表单参数匹配的完整地址atribute。 然而,当我试图保存它时,我会在联系人地址中得到EntityValidationError(确切地说是2…)中缺少的参数 我的看法是:Asp.net mvc 4 无原因获取EntityValidationErrors,asp.net-mvc-4,entity-framework-5,Asp.net Mvc 4,Entity Framework 5,我将MVC4与EntityFramework 5一起使用 在这个例子中,在我尝试用简单的表单参数保存一个新的“Contact”对象之后,我得到了两个EntityValidationError 其中一个联系人属性是“地址”,该属性在同一视图中填充(使用其他联系人的属性) 当我提交表单时,我会得到一个全新的联系人对象,该对象具有与表单参数匹配的完整地址atribute。 然而,当我试图保存它时,我会在联系人地址中得到EntityValidationError(确切地说是2…)中缺少的参数 我的看法是
<div class="editor-label">
@Html.LabelFor(model => model.Address.City)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address.City)
@Html.ValidationMessageFor(model => model.Address.City)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address.Street)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address.Street)
@Html.ValidationMessageFor(model => model.Address.Street)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address.State_province)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address.State_province)
@Html.ValidationMessageFor(model => model.Address.State_province)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address.Zip_postalCode)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address.Zip_postalCode)
@Html.ValidationMessageFor(model => model.Address.Zip_postalCode)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address.Country)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address.Country)
@Html.ValidationMessageFor(model => model.Address.Country)
</div>
<br />
<p>
<input type="submit" value="Save" />
</p>
有什么想法吗?从modelstate获取错误 使用Linq:
var allErrors = ModelState.Values.SelectMany(v => v.Errors);
另一种选择:
public static List<string> GetErrorListFromModelState
(ModelStateDictionary modelState)
{
var query = from state in modelState.Values
from error in state.Errors
select error.ErrorMessage;
var errorList = query.ToList();
return errorList;
}
公共静态列表GetErrorListFromModelState
(ModelStateDictionary modelState)
{
var query=modelState.Values中的from状态
从状态中的错误。错误
选择error.ErrorMessage;
var errorList=query.ToList();
返回错误列表;
}
资源:
只需从modelstate获取错误 使用Linq:
var allErrors = ModelState.Values.SelectMany(v => v.Errors);
另一种选择:
public static List<string> GetErrorListFromModelState
(ModelStateDictionary modelState)
{
var query = from state in modelState.Values
from error in state.Errors
select error.ErrorMessage;
var errorList = query.ToList();
return errorList;
}
公共静态列表GetErrorListFromModelState
(ModelStateDictionary modelState)
{
var query=modelState.Values中的from状态
从状态中的错误。错误
选择error.ErrorMessage;
var errorList=query.ToList();
返回错误列表;
}
资源:
请发布相关代码我不能。我是stackOverflow新手,没有声誉(这意味着我不能发布图片)复制并粘贴它,然后使用代码标记将其格式化为代码。最后有一点混乱,但我已经尽力了。您得到的实际错误消息是什么?如果您在调试器中深入研究异常,您应该准确地找到两个EntityValidationErrors所说的内容-这将帮助您找出问题所在。请发布相关代码我不能。我是stackOverflow的新手,没有声誉(这意味着我不能发布图片)复制并粘贴它,然后使用代码标记将其格式化为代码。最后有一点混乱,但我已经尽力了。您得到的实际错误消息是什么?如果您在调试器中深入研究异常,您应该准确地找到两个EntityValidationErrors所说的内容-这将帮助您找出问题所在。