Asp.Net MVC3 讓你瘋狂的5個理由

來源:互聯網
上載者:User

最近突然發現MVC3其中內建好多內容我都還未靈活運用,真是可惜可惜,在上一篇中為了實現分頁我零零散散的寫了2個類 + view視圖實現,但是看過MVC3內建的好東西,我對MVC3更加喜歡了。

1、Razor視圖引擎

       我不得不說,Razor視圖引擎太酷了,我喜歡它那清爽的代碼風格,它使用@符號表示代碼塊,下面的代碼在Razor都是合法的:

以下為引用的內容:

@foreach (var item in Model) {  
    <b>@item.FullName</b> 

       2、新的助手

       助手一直是ASP.NET MVC和其它MVC架構相比不足的地方,ASP.NET MVC 3提供了新的助手,將會縮小這一領域和競爭者的差距。

       Chart:協助建立圖表,非常好用。

       WebGrid:以網格形式呈現對象集合,包括分頁和排序功能,可以輸出為一個普通的HTML表格。

        WebImage:協助建立映像,也包括基本的映像操作方法,如微調,向內,縮小等。

       WebMail:用來寄送電子郵件。

        下一代助手被稱為“基於任務的助手”,本來包含在測試版中,但現在又看不到了,我希望在最終正式版中能見到它,因為它是那樣的讓我迷戀。

        Video:包含Video.Flash,Video.Silverlight和Video.MediaPlayer等方法,允許添加它們對應的HTML標籤。

        Twitter:包含基本的twitter操作,如呈現一個特定使用者的twitter流,或一個給定搜尋的結果。

        ReCapcha:協助使用reCAPTCHA服務。

        Gravatar:從Gravatar服務指定一個帳戶圖片。

        Analytics:為不同的分析服務提供不同的方法,如GetGoogleHtml,GetStatCounterHtml或GetYahooHtml,提供需要的JavaScript代碼。

        3、支援基於jQuery的Ajax

        在ASP.NET MVC 3中,Ajax.ActionLink,Ajax.RouteLink,Ajax.BeginForm和Ajax.BeginRouteForm將使用jQuery串連伺服器,此外,它們不會使用內聯JavaScript,它們會調用JavaScript檔案中提供的函數,用戶端驗證也與此類似。

        4、新的依賴注入(Dependency Injection)支援帶來更好的擴充性

        ASP.NET MVC 3將包含大量的擴充,幾乎任何事情都可以使用依賴注入進行擴充。

        5、整合NuPack

        NuPack是微軟新的打包系統,它完全和ASP.NET MVC 3整合到一起,在“方案總管”的“引用”檔案夾上點擊右鍵,選擇“添加包引用”,如所示。

圖 1 添加包引用

       接著會彈出NuPack介面,在這裡你可以選擇不同的庫,如所示。

   

圖 2 NuPack添加包引用的介面

------------------------------------------------------------------------------------

知識是引路燈,主要還是實踐!

分頁的使用WebGrid:

Control:

public ActionResult WebGrid()
        {

    //取得資料
            MercuryDbExEntities db = new MercuryDbExEntities();
            var result = db.Users.ToList();

            ViewData.Model = result;
            return View();
        }

View:

@using Mvc3_Test.DataBase
@model IEnumerable<Mvc3_Test.DataBase.Users>
@{
    ViewBag.Title = "WebGrid";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>WebGrid</h2>

@{
    var grid = new WebGrid(source: Model,
    fieldNamePrefix: "grid_",
    defaultSort: "Id",
    canPage:true,
    canSort:true,
    ajaxUpdateContainerId:"DivGrid",
    pageFieldName:"paging",
    sortFieldName:"soutField",
    rowsPerPage:10);
}
<div id="DivGrid">
    @grid.GetHtml(
        columns:grid.Columns(
            grid.Column("Id","ID"),
            grid.Column("loginName","LoginName")
        )
    )
</div>

就這樣一個分頁完成了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.