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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

MVC 学习日志1(上)

發(fā)布時間:2025/4/5 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC 学习日志1(上) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
MVC 學(xué)習(xí)日志1(上)

2012.7.5 開始學(xué)習(xí)MVC,本以為這個框架多難學(xué),學(xué)下來的感受是其實(shí)也就是編寫格式而已,和普通的webform有質(zhì)的區(qū)別。頓時理解那句老話,世上無難事,只怕有心人。只要開始和堅持,那么結(jié)果一定不會差。好了,言歸正傳,下面開始記錄學(xué)習(xí)MVC的一些學(xué)習(xí)要點(diǎn),也許沒那么系統(tǒng),沒書上那么循序漸進(jìn),具體以實(shí)例和不同要點(diǎn)記錄下來,只為自己回頭可以看看。如果有時間的話,一定回頭改之,希望自己也能向那些大牛一樣可以做一個系列。

?

?

1. MVC 介紹

MVC (Model,View,Controller),模型,視圖,控制器。

模型主要負(fù)責(zé)處理數(shù)據(jù);控制器負(fù)責(zé)接受web請求,控制器中的Action 負(fù)責(zé)返回某個View,View是顯示的內(nèi)容。

?

例: localhost:xxx/user/index????????? 此處訪問的是項(xiàng)目下? UserController下的index? Action

而不像普通Webform框架下有具體的Aspx頁面,localhost:xxx/user/index/a.aspx。 這個Url在webform下可以正常訪問,在MVC框架下是不行的。

另外:MVC框架設(shè)計原則是拒絕 runat=”server” 此類框架的,所以最好不要在MVC框架的項(xiàng)目中不要使用這種控件。

?

?

?

2.? MVC 框架學(xué)習(xí)

???? 有很多MVC框架,譬如大家常說的:Struts2,Spring,Hibgrade.

???? 本系列使用的是 微軟自己的MVC框架------ Asp.net MVC 2.0.至于其他比較好的框架,大家可以直接學(xué)習(xí),但是個人認(rèn)為還是從 微軟的MVC框架開始。 這就像 Javascrpt 和 Jquery ,extjs 框架一樣,肯定學(xué)好了Javascript再去學(xué)Jquery,extjs 這樣,肯定易如反掌。畢竟都是Javascript的封裝而已,就像你自己寫的特殊函數(shù)封裝而已。

?

?????? VS2008 簡體中文版,打了sp1補(bǔ)丁后,裝上MVC2.0 模版之后開始

??????? 模版下載鏈接:

????? 1)新建MVC項(xiàng)目

?

???????

?

?

如上圖,項(xiàng)目目錄組成:??

Code 存放自定義的類(比如 User類,Filter類(后面介紹到));

Context存放CSS。

Model 數(shù)據(jù)模型 updatemodel等

?

Controllers? 存放控制器,控制器name必須由名字+Controller 組成,而且名字要和Views中要有以這個名字命名的文件夾。如圖有個UserContrller,則Views 同樣有個 User文件夾。

Views存放視圖 。? Views根目錄下有幾個文件夾,則項(xiàng)目應(yīng)該就有幾個Controller,而且名字要和Views子文件夾名字相同。? 另:此目錄下的Shared 存放公共模版。

?

?

?

?

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; ? namespace MvcApplication1.Controllers { [HandleError] [MvcApplication1.Code.ParamFilter] public class HomeController : Controller { public ActionResult Index() { ? ? ? ? ? ViewData["Message"] = "Welcome to ASP.NET MVC!"; ViewData["TEST"] = "Viewdata_test"; ? ? MvcApplication1.Code.mycode code = new MvcApplication1.Code.mycode(); code.Name = "王先生"; code.Id = "001"; ViewData["user"] = code; ? ? List<string> ViewDataList = new List<string>(); ViewDataList.Add("a"); ViewDataList.Add("b"); ViewDataList.Add("c"); ? ? ViewData["ViewDataList"] = ViewDataList; ? //TempData["ddd"] = "ddd:為TempData,只能用1次"; //Response.Redirect("about"); return View(); //默認(rèn)Home/index view } ? public ActionResult About() { return View(); } } } ?

?

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> Home Page </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2>html helper <%=Html.ActionLink("超級鏈接到about","about") %></h2> <h2>url helper <%=Url %></h2> <h2><%= Html.Encode(ViewData["Message"]) %></h2> <h2><%=ViewData["TEST"]%></h2> <h2><%foreach (string str in ViewData["ViewDataList"] as List<string>){%></h2> <li> <%=str%> </li> <%} %> ? <h2><% =(ViewData["user"] as MvcApplication1.Code.mycode).Name %></h2> <p> To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>. </p> </asp:Content>

?

?

以上就是大概情況。

小總結(jié):?? localhost:3373/home/index????????????

訪問的是Controller文件夾下的HomeContrller控制器中的index action。顯示的東西由view決定,具體顯示哪個view由action決定(return view(“xx”))。

?

3.? 關(guān)鍵要點(diǎn)

?

1) ViewData 傳值????? Contrller中的Action定義 ViewData[“name”]=”Mike”

??????????????????????????????? View 使用? <%=ViewData[“name”]%>

?

???? 例:?? Controller定義ViewData變量:

??????????? List<string> ViewDataList = new List<string>();
?????????? ViewDataList.Add("a");
?????????? ViewDataList.Add("b");
?????????? ViewDataList.Add("c");

?????????? ViewData["ViewDataList"] = ViewDataList;

?

???????? View中使用ViewData變量:

????????? <%?? foreach(string str in? ViewData[“ViewDataList”] as List<string>){?? %>

<li><%= str%></li>

<% }?? %>

?

?

2.? TempData傳值??? 類似 ViewData。

??? 但是這個值只保存一次。Index action 定義了

TempData[“onlytime”]=”只能訪問一次”;? return view(“edit”)

則在 跳轉(zhuǎn)到edit view 會顯示tempdata值,刷新后就沒了。

?

3.ViewData? 其他傳值方式? 例如? 類,只要在View端做好 類型轉(zhuǎn)換就可,然后直接訪問屬性或者字段。

?

另:VS 自動生成屬性快捷: prop+tab+tab

?

4. 重定向? (4種寫法)

?? 假如在UserContrller 中的 Index action 中重定向。

??

?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
??? public class UserController : Controller
??? {
??????? //
??????? // GET: /User/

??????? public ActionResult Index()
??????? {
????????????

?????????????? return? view();? //默認(rèn)訪問views文件夾下User文件夾下的index視圖

?????????????? return? view(“xx”);??

?????????????? Response.Redirect(“xx”);

?????? return? Redirect(“xx”);

?????? return? RedirectAction(“eidt”,”home”);
}

??? }

}

?

注意:?

?????????????? return? view(“xx”);??

?????????????? Response.Redirect(“xx”);

?????? return? Redirect(“xx”);

前3種方式,只能訪問當(dāng)前Controller 名字的View 視圖。

?????? return? RedirectAction(“eidt”,”home”);? --只有這個可以指定到別的 View

?

?

?

5. URLROUNTING 路徑選擇

??? Global.asax? 定義。

?

?? 默認(rèn)的Url路徑:? localhost:3373/home/index???? 這個就是在 Global.asax 定義的。

?? 如果Url這樣才能訪問:localhost:3373/home.Controller/index? 就得修改Global

?

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; ? namespace MvcApplication1 { // Note: For instructions on enabling IIS6 or IIS7 classic mode, // visit http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); ? routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); ? } ? protected void Application_Start() { AreaRegistration.RegisterAllAreas(); ? RegisterRoutes(RouteTable.Routes); } } }

?

修改并并運(yùn)行:

routes.MapRoute(
??????????? "Default", // Route name
??????????? "{controller}.controller/{action}/{id}", // URL with parameters
??????????? new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
??????? );

則下圖的Url無法訪問

必須改成? user.controller才能訪問。

?

?

?

?

?

6.? Filer

???? 決定是Action之前用,還是之后;? 決定return view 之前,還是之后做。

????

??? 定義Filer? ,繼承? System.Web.Mvc.ActionFilterAttribute ,然后重寫4個方法

?

using System; using System.Collections.Generic; using System.Linq; using System.Web; ? namespace MvcApplication1.Code { public class ParamFilter:System.Web.Mvc.ActionFilterAttribute { public override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext) { base.OnActionExecuted(filterContext); } ? public override void OnActionExecuting(System.Web.Mvc.ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); } ? public override void OnResultExecuted(System.Web.Mvc.ResultExecutedContext filterContext) { base.OnResultExecuted(filterContext); } ? public override void OnResultExecuting(System.Web.Mvc.ResultExecutingContext filterContext) { ? //if (string.IsNullOrEmpty(filterContext.HttpContext.Request.QueryString["k"])) //{ // throw new Exception("發(fā)生了一個錯誤"); //} } } } ?

?

?

?

?

Controller 使用 Filer

?

在Controller 外加上? [MvcApplication1.Code.ParamFilter]

或在具體的Action 上加? [MvcApplication1.Code.ParamFilter]

posted on 2012-07-05 07:57 水墨.MR.H 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/StudyLife/archive/2012/07/05/2577157.html

總結(jié)

以上是生活随笔為你收集整理的MVC 学习日志1(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产suv精品一区二区三区 | 69视频免费看 | 国产又粗又猛视频免费 | 成人免费毛片高清视频 | 99精品久久精品一区二区 | 一区二区三区在线观 | 日本a一级片 | 国产高清在线一区 | 国产精品99久久久久久宅男 | 97播播 | 天堂а√在线中文在线鲁大师 | 亚瑟av | 亚洲天堂手机在线观看 | 激情小说五月天 | 打屁股av | 国产精品久久999 | 老司机精品视频在线播放 | 老牛影视一区二区三区 | 亚洲一区二区国产精品 | 精品无码一区二区三区 | 毛片久久久 | 日本青草视频 | 日韩精品一线二线三线 | 精品国产69 | 国产精品最新 | 韩日黄色片| 69精品人人 | 不卡一区二区三区四区 | 亚洲欧美日韩偷拍 | 国产午夜在线 | 国产精品久久久久久妇女 | 国产精品无码无卡无需播放器 | 春草 | 黄色小视频在线 | 国产99免费 | 日韩精品成人在线观看 | 欧美色图另类 | 欧美区一区二区 | 人妻无码一区二区三区久久 | 无码人妻aⅴ一区二区三区玉蒲团 | 四虎8848精品成人免费网站 | 日韩久 | 91av一区 | 久久久久久成人精品 | k8yy毛片 | 成人免费av片| 久久综合第一页 | 一对一色视频聊天a | 先锋资源网av | 亚洲视频二区 | 一区久久久 | 少妇视频在线播放 | 日韩一卡二卡三卡 | 97综合视频 | 日韩中文字幕一区二区 | 全部毛片永久免费看 | 久久夫妻视频 | 91精品综合久久 | 精品久久九九 | 国产成人精品无码高潮 | 一级黄色片欧美 | 国产成人av网 | 一级二级三级黄色片 | 精品无码国产污污污在线观看 | 国产一区h| 久久精品视频18 | www.夜夜| jizz中国少妇高潮出水 | 久在线播放 | 日韩色在线 | 美女免费福利视频 | 亚洲精品视频一区二区 | 久草视频在线免费看 | 黄色网络在线观看 | av网站在线观看不卡 | 久久4| 成人毛片100免费观看 | 国产做爰xxxⅹ久久久精华液 | 亚洲精品女人 | 91蜜桃网站 | 午夜亚洲福利在线老司机 | 久国产视频 | 暗呦丨小u女国产精品 | 伊人焦久影院 | 日日噜夜夜噜 | 99久久免费看精品国产一区 | 中文人妻熟女乱又乱精品 | 91亚色| av日韩一区 | 久久久亚洲精品视频 | av永久 | 美女性生活视频 | 91精品视频在线免费观看 | 成人av高清在线观看 | 风韵少妇性饥渴推油按摩视频 | 亚洲天堂影视 | 男人用嘴添女人下身免费视频 | 亚洲人在线观看视频 | 亚洲国产综合久久 |