jquery是一款容易上手的javascript庫,任何平臺都可以使用,它跟asp.net mvc框架的結合尤為引人矚目。james estes曾在infoq上發表過一篇文章,名為jquery正在靠1.2版及jquery ui贏得人心,談到了jquery最近的一次發布,并介紹了很多杰出的特性。
藉由asp.net mvc內置的擴展性,開發人員便可以使用第三方庫,例如jquery。在使用asp.net webforms的時候,如果使用jquery而不是asp.net ajax,難度會比較大。
剛開始撰寫本文的時候,asp.net mvc的版本是preview 4,有些在preview 4中使用的技術可能無法在早期版本中正常工作。preview 4可以在codeplex上下載。
初步配置
我不打算把它寫成一篇完整的jquery指南,只是簡單給出幾個跟asp.net mvc一起使用這款javascript庫的示例。chad myers有一篇很精彩的指南,包括了如何上手。
首先要保證你有asp.net mvc,所以請先從codeplex上下載安裝(注意:你需要運行visual studio 2008才能使用asp.net mvc框架)。
asp.net mvc框架裝好以后,就應該已經創建好了一個新的asp.net mvc web application工程。
下一步,下載jquery,下載packed或者是minified版本,然后放到上面那個工程的content目錄下。
添加一個對content目錄下jquery文件的引用。
簡單示例
ryan lanciaux寫過一篇很優秀的文章,名為jquery和asp.net mvc框架,其中列出了很多在asp.net mvc框架中使用jquery的關鍵因素。ryan在文章中進行了詳細闡述:
首先要做的就是創建一個asp.net mvc(preview 4)工程,在home controller下面創建一個新的view和一個controller action,然后把下面幾行字加到view中。
this is red text,this is blueand this is green
右鍵點擊controllers文件夾,選擇“add new item”,然后選擇mvc controller類,任務完成。下一步是創建一個controller action:
接下來,我們需要創建一個controller action,它可以從model中返回色素值。而且我們不希望重載頁面,我們希望使用ajax。很幸運,在mvc框架中我們可以使用jsonresult類型來完成這一點。
public jsonresult rgbcolors(){ colors.rgb color = new colors.rgb(); return json(color);}
下一步,創建一個類,用來表示model中的顏色:
namespace colors{ public class rgb { public string red = “#ff0000″; public string green = “#00ff00″; public string blue = “#0000ff”; }}
最后一步,用一些jquery代碼把一切組裝在一起:
以下為引用的內容: $(document).ready(function() {}, function(data) { $(“.red”).css(“color”, data.red); $(“.blue”).css(“color”, data.blue); $(“.green”).css(“color”, data.green); });}); |
ryan指出了一處重要的地方:
注意,jquery代碼是在我們的controller上調用json方法。如果我們重載頁面,它就會得到model中定義的色素值。完全無痛。它很簡單,但在web上使用的時候卻可以千變萬化。
上面這個例子簡單演示了如何使用json,ryan和他的兄弟joel寫了一個theme generator tool,里面有完整的應用。另外敬請留意,在撰寫本文的過程中,微軟已經發布了asp.net mvc框架的preview 5版本。
新聞熱點
疑難解答
圖片精選