日期:2014-05-17  浏览次数:20380 次

关于MVC+三层架构的Model问题 (初学)
MVC中有Model,三层中也有Model。
现在我用的是MVC+三层的架构。其中我把MVC的Model给去掉了,直接用三层中的Model。
但是在做View的数据验证,我用的是Model验证。就是类似于

        /// <summary>
        /// 邮箱地址
        /// </summary>
        [Display(Name="邮箱地址")]
        [Required(ErrorMessage="邮箱地址必须输入!")]
        [DataType(DataType.EmailAddress)]
        [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "邮箱格式不正确!")]
        [Remote("IsExists","Account",ErrorMessage="该邮箱已被注册!")]
        public string Email { get; set; }

但是,在用到[Remote(...)][Compare(...)]等属性时,需要加载system.web.mvc。这我就觉得是不是有点不妥,所以问问。

是不是mvc中的model还得留着。那样的话,啥时候用mvc中的model,啥时候用三层的model。mvc中的model又怎么提供给三层去作参数呢?乱呐!!!

------解决方案--------------------
你mvc的model本就不该和三层的model混在一起,分开也是结构层次的需要!
------解决方案--------------------
你好!楼主,你现在用的MVC是在MVC本身就有的三层,而你把MVC的Model去掉的话,原本不是没有什么?
但是当你做大型项目的时候都,2个Model混在一起,你自己找也难找呀,而且用法都不规范。