日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MVC2验证(自定义异常)

發布時間:2023/12/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC2验证(自定义异常) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源碼

/Files/zhangchao1/MVCValidationTest.rar

在contorllers內雖然簡單,但有卻有些不符合mvc 的設計理念,這里,我們將驗證放到DLL部分

?

首先建立自定義的異常類

public class MyExcptions:Exception { //存放錯誤信息 List<string[]> errors = new List<string[]>(); //判斷是否有錯誤 public bool IsValid { get { return errors.Count == 0 ? true : false; } } //添加錯誤信息 public void AddError(string name, string message) { this.errors.Add(new string[] { name, message }); } //填充ModelState public void FillModellState(ModelStateDictionary modelstate) { foreach (var e in this.errors) { modelstate.AddModelError(e[0], e[1]); } } }

然后創建一個BLL文件夾在里面創建一個UserBll類

public class UserBLL { public static void Edit(Models.User user, bool IsValid) { var e = new MyExcptions(); if (user.userName==null) { e.AddError("userName", "用戶名不能為空"); } //別的不變,但在這里,我除了要判斷e中是否有錯誤外,還要判斷ModelState中是否有錯誤 if (e.IsValid && IsValid) { //在這里我可以寫一些代碼,因為完成了驗證,我就可以開始更新數據庫了 } else { throw e; } } } 接著就在Controller中創建action public ActionResult Validation1(Models.User user) { try { UserBLL.Edit(user, ModelState.IsValid); } catch (MyExcptions e) { e.FillModellState(ModelState); } if (ModelState.IsValid) { return View("Validation1"); } else { return View(user); } }

?

生成視圖后,就好了!!!

本文純屬學習記錄,如有錯誤,請多指教(原教程http://blog.csdn.net/zhaoqiliang527/archive/2010/05/24/5620668.aspx)

轉載于:https://www.cnblogs.com/zhangchao1/archive/2011/04/27/2030474.html

總結

以上是生活随笔為你收集整理的MVC2验证(自定义异常)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。