九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Asp.Net MVC4 + Oracle + EasyUI 學(xué)習(xí) 第一章

Asp.Net MVC4 + Oracle + EasyUI  第一章

--操作數(shù)據(jù)和驗證

本文鏈接:http://www.cnblogs.com/likeli/p/4234238.html

文章集合:http://www.cnblogs.com/likeli/category/651581.html

1、    關(guān)于HtmlHelper和UrlHelper

         因為大部分的web請求的目標都是向客戶端發(fā)送HTML代碼。因此,Asp.Net MVC也是為我們創(chuàng)建HTML提供了各種幫助。除了Razor,另外還有兩個最為重要的幫助類就是HtmlHelper和UrlHelper,他們作為控制器和視圖的Html和Url屬性暴露出來,供我們使用。

         這里列舉一個幫助類的例子:

1 <img src="@Url.Content("~/Content/images/1.jpg")" />2 @Html.ActionLink("HomePage","Index","Home")

         該部分代碼渲染之后為:

1 <img src="/Admin/content/images/1.jpg" />2 <a href="/Admin/Home/Index">HomePage</a>

         這兩個幫助類只是擴展了框架的一些附加行為。關(guān)于他們的擴展方法太多,這里無法一一列舉,但之后會用到。

強調(diào)一下:HtmlHelper幫我們生成HTML代碼,UrlHelper幫我們生成URL地址,所以,只要記住,當我們需要生成HTML代碼或URL的時候,就該使用他們了。

 

 2、   簡單登陸實戰(zhàn)

         網(wǎng)上down一個首頁,如圖:

圖1

         建立簡單的模型、控制器,并生成視圖。

圖2

         在創(chuàng)建視圖的時候,不用EF生成,創(chuàng)建空白的視圖即可。

 1         public ActionResult Login() 2         { 3             return View(); 4         } 5  6         [HttpPost] 7         public ActionResult Login(LoginModel model) 8         { 9             if (ModelState.IsValid)10             {11                 //簡單驗證通過12                 return RedirecToLocal("~/Admin/Home");13             }14             else15             {16                 // 如果我們進行到這一步時某個地方出錯,則重新顯示表單17                 ModelState.AddModelError("", "提供的用戶名或密碼不正確");18                 return View(model);19             }20         }

         以上代碼為登陸控制器的代碼。并做了簡單的驗證。驗證通過后,跳轉(zhuǎn)到指定頁面。

         通常設(shè)涉及到數(shù)據(jù)問題時,會有很多規(guī)則和限制可以使用,比如,字段非空,給字段設(shè)置范圍區(qū)間等等。MVC中控制器可以通過操作ModelState來檢查請求是否有效。

 1     public class LoginModel 2     { 3         [Required] 4         [Display(Name = "用戶名")] 5         [StringLength(10, ErrorMessage = "必須至少包含{2}個字符", MinimumLength = 3)] 6         public string UserName { get; set; } 7  8         [Required] 9         [Display(Name = "密碼")]10         public string UserPwd { get; set; }11 12         [Required]13         [Display(Name = "記住我?")]14         public bool RememberMe { get; set; }15     }

         關(guān)于上面的Required、Display、StringLength標記,這是為了對這個屬性進行強化控制。

  • 重點說明一下自定義錯誤信息。數(shù)據(jù)標記提供了ErrorMessage屬性,可以指定返回給用戶的錯誤信息。而不是由Data Annotations API生成的默認信息。就如上面代碼中定義字符長度的方法一樣。

         定義好錯誤信息后,那么現(xiàn)在就是需要如何顯示這個錯誤信息了。ViewData.ModelState["UserName"]可以讀取到這個錯誤信息,但這是一個集合,我們需要用迭代循環(huán)來顯示錯誤信息,那么就難免要在頁面上書寫循環(huán)來輸出錯誤信息。但是,現(xiàn)在MVC提供能更好的方法來渲染特定屬性的錯誤信息@Html.ValidationMessageFor(string modelName),這個方法讓我們省去了循環(huán)的代碼。如下,一句代碼即可完成該效果:@Html.ValidationMessageFor(m => m.UserName)

  • 這里再次提示一下,這里用的驗證方法都是在服務(wù)端的代碼驗證,需要在服務(wù)器和客戶端之間來來回回幾次才能驗證數(shù)據(jù)的有效性,那么聰明的你應(yīng)該瞬間明白我要說什么了,那就是這種驗證方式并不是一種節(jié)約帶寬和服務(wù)器資源的好方法。但不可否認,這是一種有效的方法,可以很好的保證數(shù)據(jù)的有效性、安全性。選擇性的使用即可,之后的文章里會優(yōu)化驗證方法,來避免不必要的請求,節(jié)約帶寬和服務(wù)器資源。

         視圖中,我們需要用到HtmlHelper和UrlHelper來生成Url和HTML標記。

 1  @using (Html.BeginForm()) 2         { 3             <div class="loginbox"> 4                 <ul> 5                     <li> 6                         @Html.TextBoxFor(m => m.UserName, new { @class = "loginuser", @placeholder = "請輸入用戶名" }) 7                         @Html.ValidationMessageFor(m => m.UserName) 8                     </li> 9                     <li>10                         @Html.TextBoxFor(m => m.UserPwd, new { @class = "loginpwd", @placeholder = "請輸入密碼" })11                         @Html.ValidationMessageFor(m => m.UserPwd)12                     </li>13                     <li>14                         <input type="submit" class="loginbtn" name="slogin" value="登陸" />15                         <label>16                             @Html.CheckBoxFor(m => m.RememberMe, new { @checked = "checked"})記住密碼17                         </label>18                         <label>19                             <a href="javascript:;">忘記密碼?</a>20                         </label>21                     </li>22                 </ul>23             </div>24         }

  上文的代碼中,可以看到利用HtmlHelper來生成了幾個文本框、復(fù)選框等,HtmlHelper的擴展有許多,可以前往MSDN查看詳情。

  這里若是想要給生成的標簽加上屬性或者樣式,可以使用new{@屬性=“值”}的方式來添加。

3、  參考文獻

《Asp.Net MVC4 Web編程》、MSDN

4、  相關(guān)下載

源代碼:http://download.csdn.net/detail/a406502972/8376701

5、  后記

本文是一個漫長的過程,因為是自己在學(xué)習(xí),所以我會精細到我所遇到的每一個問題,每一個細節(jié),所以,寫博文比較慢。

也特別希望,各位博友在閱讀過程中,多多提點,一方面細化的我學(xué)習(xí)理解,也強化一下我的文檔書寫能力。

真誠希望我能從小菜進化到小牛再到大牛。希望閱讀的博友們也能從我的學(xué)習(xí)過程中獲得進步!

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
從零開始學(xué)習(xí) ASP.NET MVC 1.0 (四) View/Model 全解
在ASP.NET MVC中使用DropDownList
擴展ASP.NET MVC HtmlHelper類(翻的)
學(xué)習(xí) ASP.NET MVC (第五回)理論篇
ASP.NET MVC中幾個運用技巧
ASP.NET MVC中的HtmlHelper類
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服