[翻譯]jQuery ajax with asp.net mvc preview 5

來源:互聯網
上載者:User

原文地址:jQuery ajax with asp.net mvc preview 5
原文作者:Chris van de Steeg

最近花了一點時間來將我的jquery4mvc項目更新到preview 5,以適應mvc p4到mvc p5的一些改變。閱讀此文請確定閱讀了scott’s post 介紹的preview 5的新特性。他也將在不久發布關於ajaxhelpers的文章。如果你想跳過閱讀而直接下載jquery4mvc:請點擊 codeplex。

jquery4mvc Javascript包只包含了3個javascript檔案,並允許使用微軟預設的AjaxHelper。你只需要把這3個檔案拷貝到你的Content目錄中並在head節中引用它們,就可以替代MicrosoftAjax.js和MicrosoftMvcAjax.js。jQuery 可以完美的替代MicrosoftAjax來完成所有的AJAX功能。令人興奮的一點是,它將對你的ajax連結支援前進與後退按鈕。

 

這樣,我們可以繼續像以前一樣使用AjaxHelper 的功能。雖然在preview 5中AjaxHelpers 有一些變化,如果你沒有更新AjaxHelper,你仍然可以通過Scott Hanselman 的文章ASP.NET MVC Preview 4 - Using Ajax and Ajax.Form 的介紹來瞭解它。需要注意的改變就是在preview 5中你不能在AJAXOptions中使用inline javascript,現在你必須指定方法的名稱。你也可以下載整個jQueryMvc項目,它包含了一個網站樣本來展示jQueryMvc的特性。

討論的更多的其實是項目中的.js檔案!這個項目的目的是為了當你想建立一個基於mvc的Ajax應用程式時,可以更快的實現並運行它。我們使用了統一的預設的Ioc容器。

我想為你準確的描述這個項目是什麼是非常困難的,最好的方式只要瀏覽一下樣本網站的代碼,這裡我還是作一個簡要的介紹。首先,我們有一個DefaultView視圖引擎。如果你用[DefaultView] 屬性標記你的控制器,如下:

如果你開啟樣本的/Home/Index,Index視圖將預設的被搜尋到。如果沒有發現它,DefaultView視圖引擎將搜尋指定的視圖名(如樣本中的default)。你的視圖使用的什麼視圖引擎沒關係,它將為所有的視圖工作。可以這樣做嗎?我們來看一下樣本中的視圖目錄結構。

你可以看到,大部分的視圖只有一個以底線為首碼命名的ascx 檔案。因為當action Home/About, Home/SayHello, Home/Index被調用時,這些視圖將不會被檢索到,DefaultView視圖引擎將開啟Shared/Default.aspx。

你可以看到,它只是調用了masterpage。但是可以稍微的想一下,你可以為每個controller建立不同的預設頁面。像masterpage一樣,如下代碼:

 

這個特別的contentplaceholder,像普通的placeholder一樣工作。但是,它並不從頁面中擷取新的內容,它將通過調用視圖引擎來開啟對就action的對應底線的視圖。所以,如果你調用Home/About,它將調用Home/_About。很神奇吧?其它頁面同樣,你只需要建立一個ascx檔案(或者其它部分假如你使用另外的視圖引擎)。這部分視圖要被填充到首頁面中去。

稍等下,還有更多!如果你使用一個Ajax請求到使用了[AjaxController]屬性的controller ,它將只返回.ascx那部分的視圖。實在是太好了!與updatepanel 非常相似!

Go to codeplex and download the project to see the ajax-magic I’m so excited about!

原始碼也可以到Google code下載:http://code.google.com/p/jquerymvc/source/checkout

樣本網站的線上示範:http://www.chrisvandesteeg.nl/demo/jquerymvc5/

相關文章

聯繫我們

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