如何解决处理请求时发生未处理的异常 ArgumentNullException:值不能为null 参数“值”
我在Razor页面中遇到此问题:
我的OnPost:
public IActionResult OnPost()
{
if (!ModelState.IsValid)
return Page();
//TODO Add Permission
Role.IsDelete = false;
int roleId = _permissionService.AddRole(Role);
return RedirectToPage("Index");
}
我的方法:
public int AddRole(Role role)
{
_context.Roles.Add(role);
_context.SaveChanges();
return role.RoleId;
}
和MyTable:
[Key]
public int RoleId { get; set; }
[Display(Name = "")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید!!!")]
[MaxLength(50,ErrorMessage = "{0} نمیتواند بیشتر از {1} کاراکتر باشد!!!")]
public string RoleName { get; set; }
public bool IsDelete { get; set; }
解决方法
问题是您将DisplayAttribute.Name
设置为空字符串-错误本身是误导的 bit ,因为它不是null
,而是用string.IsNullOrEmpty
here
因此,要么将其设置为非空字符串,要么完全删除属性(没有值就没有值,因此是例外!),它应该可以工作。
顺便说一句,您应该从异常中读取堆栈跟踪,而不仅仅是消息-它提供了上下文以及开始查找问题的具体位置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。