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