亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MVC中Model,不僅僅只是數據的傳遞者

2019-11-17 02:18:52
字體:
來源:轉載
供稿:網友

MVC中Model,不僅僅只是數據的傳遞者

在Model使用的時候很多人回向以前寫三層架構一樣使用它,將Model作為數據的傳遞者。

比如常見的寫法

        public int Id { get; set; }        public int RoleId { get; set; }        public string Name { get; set; }        public string PassWord { get; set; }                public string NickName { get; set; }               public string Avatar { get; set; }        public string Email { get; set; }        public string Phone { get; set; }        public string QQ { get; set; }        public DateTime AddTime { get; set; }                public DateTime LastLoginTime { get; set; }        public string LastLoginip { get; set; }        public bool IsLock { get; set; }                public bool IsSuperUser { get; set; }

這種寫法是最常遇到的,我見多過的代碼生成器也是如此生成。很多人將model當做了數據的傳遞者,數據的臨時區。

其實Model也可以用來驗證數據,引用:using System.ComponentModel.DataAnnotations;空間

[Display(Name = "ID")]        public int Id { get; set; }        [Required(ErrorMessage = "角色ID不能為空")]        [Display(Name = "角色ID")]        public int RoleId { get; set; }        [Required(ErrorMessage = "賬戶名不能為空")]        [Display(Name = "賬戶名")]        public string Name { get; set; }        [Required(ErrorMessage = "密碼不能為空")]        [Display(Name = "密碼")]        public string Password { get; set; }                [Display(Name = "昵稱")]        public string NickName { get; set; }               [Display(Name = "頭像")]        [DataType(DataType.Text)]        public string Avatar { get; set; }        [Display(Name = "郵箱")]        public string Email { get; set; }        [Display(Name = "手機")]        public string Phone { get; set; }        [Display(Name = "QQ號碼")]        public string Qq { get; set; }        [Display(Name = "添加時間")]        public DateTime AddTime { get; set; }                [Display(Name = "最近登錄時間")]        public DateTime LastLoginTime { get; set; }        [Display(Name = "最近登錄IP")]        public string LastLoginIp { get; set; }        [Display(Name = "是否鎖定")]        public bool IsLock { get; set; }                [Display(Name = "是否超級管理員")]        public bool IsSuperUser { get; set; }

寫過MVC的都會有所有了解,默認的項目里面就有這樣的例子。

但是很多人用不好,或者不會用。在控制器里面可以這樣判斷模型是否驗證成功ModelState.IsValid。

但是這樣好不夠,有時候有些字段是不需要驗證的,有些又必須驗證。這樣ModelState.Remove("驗證的字段");就可以靈活使用了,想忽略那個就是那個。

另外附送一個取出錯誤的方法,返回單條錯誤。不必要每個都輸出(我用這個取出單個錯誤,然后json傳輸給客戶端)。

        /// <summary>        /// 得到單條錯誤信息        /// </summary>        /// <param name="dic"></param>        /// <returns></returns>        public static string GetModelErros(this ModelStateDictionary dic)        {            string errors = "";            if (!dic.IsValid)            {                //獲取第一個                //errors = dic.Keys.First<string>();                errors = dic.Values.First(t => t.Errors.Count > 0).Errors[0].ErrorMessage;            }            return errors;        }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91中文字幕在线观看| 国产精品一二三在线| 国产精品久久久久久久久久99| 国产精品美女视频网站| 亚洲毛片在线免费观看| 欧美一区二区三区……| 亚洲女人天堂色在线7777| 亚洲人成电影网站| 91久久中文字幕| 欧美激情精品久久久| 久久久精品一区二区| 国产欧美精品在线| 亚洲欧美国产另类| 日韩欧中文字幕| 久久久综合免费视频| 国产精品日韩专区| 国产中文字幕91| 亚洲免费一在线| 中文字幕一区日韩电影| 久久伊人色综合| 91亚洲精品视频| 中文字幕精品久久久久| 亚洲第一精品电影| 国产精品久久久久久网站| 国产亚洲精品91在线| 日韩在线观看免费全集电视剧网站| 亚洲自拍小视频| 欧美xxxx18国产| 国内精品视频在线| 国产福利精品视频| 欧美大肥婆大肥bbbbb| 91免费观看网站| 亚洲男人第一av网站| 久久精品久久精品亚洲人| 欧美日韩在线视频观看| 欧美日韩成人黄色| 日韩欧美在线视频日韩欧美在线视频| 亚洲精品美女在线| 在线电影欧美日韩一区二区私密| 亚洲自拍偷拍福利| 亚洲区免费影片| 色中色综合影院手机版在线观看| 久久精品久久久久久| 欧美日韩在线另类| 亚洲人成网在线播放| 国产在线观看精品| 欧美精品久久久久a| 欧美一级高清免费| 中文字幕亚洲无线码在线一区| 亚洲成人精品av| 国产视频福利一区| 深夜成人在线观看| 中文亚洲视频在线| 另类美女黄大片| www.99久久热国产日韩欧美.com| 免费av在线一区| 久久精品亚洲国产| 久久久久久国产免费| 精品国内产的精品视频在线观看| 久久久视频精品| 一本久久综合亚洲鲁鲁| 成人a级免费视频| 欧美大片第1页| 最近2019年好看中文字幕视频| 日韩在线免费视频观看| 欧美视频在线免费| 亚洲品质视频自拍网| 色噜噜亚洲精品中文字幕| 91成人精品网站| 992tv成人免费视频| 久久久中精品2020中文| 国产视频一区在线| 亚洲国产精品久久久久久| 亚洲情综合五月天| 久久久久久久久电影| 色狠狠久久aa北条麻妃| 国产一区二区丝袜高跟鞋图片| 国产精品精品一区二区三区午夜版| 亚洲国产一区二区三区四区| 欧美精品video| 日韩成人av网址| 77777少妇光屁股久久一区| 亚洲白拍色综合图区| 亚洲网站视频福利| 日韩av影院在线观看| 午夜精品一区二区三区在线视| 欧美丝袜美女中出在线| 欧美性感美女h网站在线观看免费| 亚洲无限av看| 国产女同一区二区| 91老司机在线| 2019日本中文字幕| 亚洲伊人第一页| 日韩在线不卡视频| 三级精品视频久久久久| 在线免费看av不卡| 欧美日韩日本国产| 亚洲自拍偷拍色片视频| 久久久91精品| 欧美日韩中文字幕在线| 国产精品99一区| 精品国产一区av| 国产91成人在在线播放| 国产精品美女www| 国产成人小视频在线观看| 欧美激情一区二区三区成人| 精品亚洲va在线va天堂资源站| 国产精品中文久久久久久久| 国产精品电影网| 欧美最猛黑人xxxx黑人猛叫黄| 久国内精品在线| 久久综合免费视频影院| 日本高清视频一区| 日韩中文字幕免费| 97在线视频国产| 久久99亚洲精品| 亚洲a在线播放| 欧美激情乱人伦| 欧美日韩国产在线播放| 亚洲天堂视频在线观看| 性欧美在线看片a免费观看| 国产精品久久久久福利| 日韩av在线免播放器| 日韩在线播放视频| 国产成人高潮免费观看精品| 日韩av观看网址| 亚洲桃花岛网站| 国产精品午夜视频| 日本午夜人人精品| 国产精品视频内| 久久国产精彩视频| 亚洲成人精品视频在线观看| 97国产真实伦对白精彩视频8| 久久精品国产2020观看福利| 亚洲人成电影网| 久久久免费精品视频| zzjj国产精品一区二区| 国产精品美女www| 麻豆国产精品va在线观看不卡| 在线观看欧美视频| 欧美精品激情视频| 成人免费视频网| 亚洲开心激情网| 国产精品久久久久久久久久99| 亚洲精品一二区| 亚洲精选在线观看| 国产精品99久久久久久白浆小说| 久久免费在线观看| 热久久视久久精品18亚洲精品| 国产精品爱久久久久久久| 亚洲欧美日韩一区二区三区在线| 日韩av免费观影| 8090理伦午夜在线电影| 欧美精品一区在线播放| 海角国产乱辈乱精品视频| 91免费的视频在线播放| 日韩成人在线免费观看| 富二代精品短视频| 97久久精品人人澡人人爽缅北| 亚洲色图色老头| 国内精品在线一区| 午夜精品久久久久久久白皮肤| 国外色69视频在线观看| 亚洲欧美激情一区|