gpt4 book ai didi

asp.net-mvc - 即使用户输入的数据没有错误,我的模型状态也总是无效

转载 作者:行者123 更新时间:2023-12-02 22:36:24 25 4
gpt4 key购买 nike

您好,我的 Controller 中有一个方法,代码如下

if (ModelState.IsValid)

{

IDataOperations ops = DataSession.GetDataOperations(null);
List<Department> dept = new List<Department>();
ops.Load(dept);
ops.Commit();
int deptId = dept[dept.Count - 1].Id + 1;
Department department = new Department()
{
Id = deptId,
CompanyId = deptModel.CompanyId,
Active = deptModel.Active,
Name = deptModel.Name
};

ops.Create(department);
ops.Commit();
return RedirectToAction("CompanyDepartment", "Task");
}

else

{
//some code

每次页面运行时,它总是转到 else 部分,这意味着模型状态无效。如何检查页面中的错误位置,我可以添加什么代码来显示页面中的错误位置。

谢谢

最佳答案

您可以通过以下代码遍历 modelstate 集合,通过调试它,您将看到,您的代码将进入 for 循环,您可以理解错误是什么。

#if DEBUG
/// <summary>
/// Output the properties which are causing the issues when
/// the model is binding.
/// </summary>
public static void ModelStateErrors (ModelStateDictionary modelState)
{
var errors = modelState.Where(a => a.Value.Errors.Count > 0)
.Select(b => new { b.Key, b.Value.Errors })
.ToArray();

foreach (var modelStateErrors in errors)
{
System.Diagnostics.Debug.WriteLine("...Errored When Binding.", modelStateErrors.Key.ToString());

}

}
#endif

关于asp.net-mvc - 即使用户输入的数据没有错误,我的模型状态也总是无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com