微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp mvc错误:验证时未将对象引用设置为对象的实例

如何解决asp mvc错误:验证时未将对象引用设置为对象的实例

||
[AcceptVerbs(HttpVerbs.Post)]   
public ActionResult Create([Bind(Exclude = \"Id\")]CustomerInfo customerinfo)

{

   if (customerinfo.FirstName.Trim().Length == 0)
       ModelState.AddModelError(\"FirstName\",\"First name is required.\");
   if (customerinfo.LastName.Trim().Length == 0)
       ModelState.AddModelError(\"LastName\",\"Last name is required.\");
   if (customerinfo.Phone.Length > 0 && !Regex.IsMatch(customerinfo.Phone,@\"((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}\"))
       ModelState.AddModelError(\"Phone\",\"Invalid phone number.\");
   if (customerinfo.Email.Length > 0 && !Regex.IsMatch(customerinfo.Email,@\"^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$\"))
       ModelState.AddModelError(\"Email\",\"Invalid email address.\");
   if (!ModelState.IsValid)
       return View();
   try
   {
        BLL.Customer customer = new BLL.Customer();
        customer.CreateCustomer(customerinfo);

        return RedirectToAction(\"Index\");

    }
    catch
    {
        return View();
    }
}
    

解决方法

        您应该真正地逐步完成并指出确切的失败之处。这很可能会告诉您足够的信息来自己解决问题。特别要看的是行号。那将带您进入失败的生产线。 但是,我的猜测很简单,
FirstName
LastName
Phone
Email
之一是
null
(这是字符串的默认值,因此完全可以预期)-
customerinfo
本身为空。 更改为
if (customerinfo.FirstName == null || customerinfo.FirstName.Trim().Length == 0)
   ModelState.AddModelError(\"FirstName\",\"First name is required.\");
(etc)可能会为您修复它。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。