首页 新闻 搜索 专区 学院

关于asp.net mvc 验证的问题。。

0
悬赏园豆:10 [待解决问题]
using Iesi.Collections.Generic;

namespace DomainModel.Entities
{
    public class Customer
    {
        public virtual Guid CustomerId { get; set; }
        public virtual string Firstname { get; set; }
        public virtual string Lastname { get; set; }
        //一对多关系:Customer有一个或多个Orders
        public virtual ISet<Order> Orders { get; set; }
    }
}

namespace DomainModel.Entities
{
    public class Order
    {
        public virtual Guid OrderId { get; set; }
        public virtual DateTime OrderDate { get; set; }
        //多对一关系:Orders属于一个Customer
        public virtual Customer Customer { get; set; }
    }
}

在提交数据的时间ModelState.IsValid总是为false 问题出在 

public virtual Customer Customer { get; set; }这个地方 

提交时的数据是:

X-Requested-With:XMLHttpRequest
Form Dataview
OrderId:B8DF8C65-D84D-417B-9DC1-F171BF604BA4
OrderDate:2013-07-09 11:08:52.000
Customer.CustomerId:B8DF8C65-D84D-417B-9DC1-F171BF604BA7

 



wuanju . com的主页 wuanju . com | 初学一级 | 园豆:137
提问于:2013-07-09 14:29
< >
分享
所有回答(4)
0

应该是主外键的关系问题,你给Order的Customer赋的值是否存在Customer表中。

kylin.chen | 园豆:983 (小虾三级) | 2013-07-10 22:48
-1

主外键关系, 

 Order表怎么没 customerid 
水墨.MR.H | 园豆:280 (菜鸟二级) | 2013-07-21 19:02
0

验证前加上这句试试,有可能是数据库自动增长的缘故

 ModelState.Remove("CustomerId");
Flying_Boy | 园豆:185 (初学一级) | 2013-08-29 10:24
0

这就看你的orm是怎么配置的了,ModelState.IsValid是验证你输入的数据是否和配置的数据一致。

比如说某个值不能为空,你输入了空值那么就不能通过了。或许是因为你的orm把Customer Customer配置不能为空了。

|WinKi| | 园豆:669 (小虾三级) | 2013-08-30 15:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册