MVC 2.0 學習筆記 和 Demo共用

來源:互聯網
上載者:User

好久沒有寫BLOG了,可能沒有技術上的新發現,也不知道在這裡和大家共用什麼。 最近在研究MVC 2.0, 這個玩意大家都知道是把軟體系統分為三個基本部分:模型(Model),視圖(View)和控制器(Controller)。說它好,它確實好,開發起來簡單方便;說它不好,也確實存在一些問題。比如說版本升級的風險,效能比較研究現在都不夠深刻。我剛剛開始學的時候在網上找資料找了好多都是一樣的,並且現在大部分都是針對MVC1.0的介紹。為了讓初學者少走彎路,就藉此地和大家分享下我的學習經曆,我也不賣官子寫一講,二講......了,我覺得這個入門了就走出了一大步,所以就一次性全部拿出來說啦。

 

要用這個第一步:要裝一個:AspNetMVC2_VS2008.exe ,這個東西網上一搜很多地方由下載,看你的VS是什麼版本的,下載安裝好了就會在你的VS建立模板的時候有:;建立一個 “Asp.Net MVC 2 Web Application”,然後跟著會彈出問你是否建立一個測試的項目,我們選擇否。然後系統就會自動建立一些問題,這些檔案就是我們學習的模板,我們不懂原理不要緊,照葫蘆畫瓢,畫幾個就懂了。項目建好了,我們要說說裡面的檔案的使用。我們的 View檔案中有幾個原始目錄,,這個要搞清楚的就是controller是檔案夾,action就是頁面。如我們要瀏覽Home目錄下的Index.aspx;就要在根目錄下的 Global.asax 裡面設定:

 

 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
            );

        }

 

知道怎麼瀏覽了,我們下一步要看怎麼Add View,Add View分好幾種選項,空檔案和強型別資料檔案,初學最好用空檔案,因為強型別的還要改一些東西。我們建立一個檔案夾D1,然後在D1下建V1.aspx;然後像上面一樣瀏覽是瀏覽不出來的,因為我們還要在Controllers檔案夾目錄下的類檔案中加上相應的控制。

比如: public ActionResult V1()
        { 
            return View();
        }

這樣的。否則瀏覽的時候就會提示:“ /應用程式中的伺服器錯誤。無法找到資源。” 。

簡單的Add View 好了,我們就看看裡面怎麼用,一開始看看傳值方式:

 ViewData["myDate"] = "測試用ViewDate簡單的傳值,僅限於當前頁面";
 TempData["myTempDate"] = "測試用TempDate簡單的傳值,可以作為頁面跳轉間傳值使用,但只能用一次,第二次請求的時候就沒有了";

ViewDate是很強悍的玩意,什麼東西都能存,string,List,DataTable,某個類的實體都沒有問題就想Session一樣。我的Demo中都有執行個體的。

傳值還有一部分就是連結傳值,比如我們在V4中建立一個連結:
    <%= Html.ActionLink("測試連結傳到V5", "V5", "D1",
        new { word = " 第一個值word ",key=" 第二個值:key ",uid=" 第三個值:uid " }, new { @class="D1"}
        )%> 

這樣就是建立了一個連結,第一個參數是“連結文字”,第二個參數是:“連結需要跳轉的頁面”,第三個參數是“檔案夾”,第四個參數是:“連結的參數”;

 V5頁面接受上面這個連結的方法有兩種:

        /// <summary>
        /// 方法一
        /// </summary>
        /// <param name="word"></param>
        /// <returns></returns>
        public ActionResult V5(string word, string key, string uid)  //這裡定義的變數名字一定要和連結上帶的名字一摸一樣的。
        {
            ViewData["qt"] = word + key + uid;

            return View();
        }
        /// <summary>
        /// 方法二
        /// </summary>
        /// <returns></returns>
        public ActionResult V5()
        {
            ViewData["qt"] = Request.QueryString["word"].ToString() + Request.QueryString["key"].ToString() + Request.QueryString["uid"].ToString();

            return View();
        }

這是我們經常用的連結傳值。

 

基本入門知道這些就OK了,再細就要靠自己去挖掘了。Demo中還有關於表單提交,註冊,登陸和上面說的Add View選擇強型別的方法,大家可以自己研究研究。

 

Demo地址: http://files.cnblogs.com/teracy/Demo100528.zip 

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.