有個(gè)叫Account的Controller,有個(gè)叫LogOn的Action。這樣就請(qǐng)求了登陸頁面:
創(chuàng)建數(shù)據(jù)庫
這里簡單的創(chuàng)建一個(gè)User表,用來存儲(chǔ)用戶的信息。向表中添加一些數(shù)據(jù)。
創(chuàng)建 Model 模型
在 Model-View-Controller 框架中,Model表示應(yīng)用程序的數(shù)據(jù)對(duì)象,以及相應(yīng)的業(yè)務(wù)領(lǐng)域邏輯,包括數(shù)據(jù)驗(yàn)證和業(yè)務(wù)規(guī)則。Model是 MVC 應(yīng)用程序的核心部分,下面我們會(huì)看到 Model的作用。ASP.NET MVC 框架支持使用任意數(shù)據(jù)訪問技術(shù),開發(fā)人員可以選擇大量的.NET 數(shù)據(jù)訪問技術(shù)實(shí)現(xiàn) Model。這里我們選擇LINQ to SQL的方式來實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問。
增加LINQ to SQL 類到項(xiàng)目程序中:在Model文件夾上右鍵--添加新項(xiàng):
Model 類集成驗(yàn)證和業(yè)務(wù)規(guī)則邏輯
項(xiàng)目中我們常常會(huì)有業(yè)務(wù)的驗(yàn)證和業(yè)務(wù)的邏輯規(guī)則,比如不允許用戶輸入的信息為空之類的,我們在Model文件夾中添加Users.cs。來對(duì)User進(jìn)行驗(yàn)證:
這里有幾點(diǎn)值得注意:
我們直接對(duì) Users模型類公開 IsValid 屬性和GetRuleViolations() 方法,IsValid 屬性根據(jù)驗(yàn)證和業(yè)務(wù)規(guī)則返回 true 或 false,GetRuleViolations() 則返回
所有錯(cuò)誤的業(yè)務(wù)邏輯列表。
我們將class 定義為Partial 到項(xiàng)目中,來實(shí)現(xiàn) IsValid 和 GetRuleViolations()方法。Partial 類用來增加方法/屬性/事件到 VS 設(shè)計(jì)器生成的類中(如 LINQ to SQL 設(shè)計(jì)器生成的 Users類),有助于區(qū)分我們編寫的代碼。
這里,我們使用 C#的 yield return 特性,返回有序的 RuleViolation 集合。
yield return 語句返回集合的一個(gè)元素,并移動(dòng)到下一個(gè)元素上。yield break 可停止迭代。包含 yield 語句的方法或?qū)傩砸卜Q為迭代塊。迭代塊必須聲明為返回 IEnumerator 或 IEnumerable 接口。這個(gè)塊可以包含多個(gè) yield return 語句或 yield break 語句,但不能包含 return 語句。
當(dāng)然這里只是簡單的進(jìn)行數(shù)據(jù)的驗(yàn)證。
到這里,我們就基本上對(duì)Users的Model的編寫就基本的完成了。
ok,先在這里,下篇待續(xù)。
聯(lián)系客服