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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

MVC3 学习总结一(未发布)

發布時間:2023/11/30 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC3 学习总结一(未发布) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MVC3 學習總結一(未發布)

MVC:? Model,View,Control

?

設置View中的數據

1. 返回model,View中強類型化

Control:

public ActionResult Browse(string Genre)
?????? {
?????????? var Album = db.Genres.Include("Albums").Single(c => c.Name == Genre);
?????????? ViewData["Genre"] = Genre;
?????????? return View(Album);
?????? }

?

View:?

? @model Mvc_MusicShop_diy.Models.Genre?? (強類型化,一個View只能強類型化一個)

類似的 當 control 返回? list<xx>集合,view 應當如下強類型化

@model List<Mvc_MusicShop_diy.Models.Genre>?

or?

@model? IEnumerable<Mvc_MusicShop_diy.Models.Genre>

使用:

<ul>
@foreach (var Genre in Model)
{
<li>
@Html.ActionLink(@Genre.Name, "Browse", new { Genre=@Genre.Name})
</li>

}
</ul>

?

?

2.? ViewData

Control 設置:ViewData["Provinces"] = db.Provinces.ToList();

View使用:????? @using Mvc_MusicShop_diy.Models

?????????????????????????????? ViewData["Provinces"]?? as? List<Province>

?

3.? ViewBag

ViewBag.title=”購物車頁面”?? //設置View 頁面的html元素的值

?

?

設置模版View

1._ViewStart.cshtml 代碼制定了頁面的默認模版的路徑

@{Layout = "~/Views/Shared/_Layout.cshtml"; } ? 查看模版頁面代碼 ? <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> </head> <body> <div class="page"> <div id="header"> <div id="title"> <h1>歡迎光臨南京網上商城</h1> </div> <div id="logindisplay"> @Html.Partial("_LogOnPartial") </div> <div id="menucontainer"> <ul id="menu"> <li>@Html.ActionLink("商城主頁", "Index", "Home")</li> <li>@Html.ActionLink("關于商城", "About", "Home")</li> <li>@{Html.RenderAction("CartSummary", "ShoppingCart", "");}</li> ? </ul> </div> </div> @*@{Html.RenderAction("Category", "Home");}*@ <div id="main"> </div> <div id="footer"> 關于我們|聯系我們|人才招聘|商家入駐|廣告服務|手機京東|友情鏈接|銷售聯盟|商城社區|南京商城公益 </div> </div> </body> </html> 注意: 所有view默認模版代碼里,有完整的 html 標記 ,包含title,body @RenderBody() 占位符是view頁面的代碼所在的位置 2.? 通用模版?

[ChildActionOnly]??? //表明了,通過url :? /control/CartSummary 訪問是不存在的;只作為其他View的一部分
?????? public ActionResult CartSummary()
?????? {
?????????? var cart = ShoppingCart.GetCart(this.HttpContext);
?????????????????????? ViewData["CartCount"] = cart.GetItemsCount();

?????????????????????? return PartialView();? //或者 PartialView("CartSummary");

?????? }

?

在 _ViewStart.cshtml 中使用

<li>?? @{Html.RenderAction("CartSummary", "ShoppingCart", "");}? </li>

注意:@{???? }

?

?

MVC3自帶的客戶端驗證和服務端驗證

原理:model與view 模型 綁定

必須引用:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

?

?

@Html.ValidationSummary(true)? 在指定地方將錯誤集中展示? ,生成的html代碼為

? <ul><li>錯誤1</li><li>錯誤2</li></ul>

?

@Html.ValidationMessageFor(model => model.Title)???? 展示title出錯的信息(根據model中類型與屬性自動 js 判斷和服務端判斷)

?

服務端根據 ModelState.IsValid?? Bool 的值 (根據model相關約束驗證后是否有錯誤)

[HttpPost] public ActionResult Create(Album album) { if (ModelState.IsValid) { db.Albums.Add(album); db.SaveChanges(); return RedirectToAction("Index"); } ? return View(album); }

?

?

Model 中添加自定義約束

比如: 某不能為空,若為空提示自定義的錯誤消息;view中顯示的元素名稱為XX?email,phone 正則驗證;

首先得引用命名空間

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

?

[DisplayName("手機號")]

[Required(ErrorMessage = "手機號不能為空")]

[RegularExpression(@"^1[3|4|5|8]\d{9}$", ErrorMessage = "手機號格式錯誤")]

public? string phone{get;set;}?

[ScaffoldColumn(false)]?? //主鍵;當與view模型綁定生成自動生成html元素的時候,是否隱藏該列
? public int AddressId { get; set; }

?

?

?

posted on 2014-02-21 16:41 水墨.MR.H 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/StudyLife/p/3559725.html

總結

以上是生活随笔為你收集整理的MVC3 学习总结一(未发布)的全部內容,希望文章能夠幫你解決所遇到的問題。

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