ASP.NET開(kāi)發(fā)者使用jQuery應(yīng)該了解的幾件事情
下面這幾點(diǎn)希望能夠幫你加快你的學(xué)習(xí)。
1.把selectors當(dāng)作asp.net中的sets。
在asp.net的世界,通過(guò)一個(gè)查詢找到一系列控件是非常少見(jiàn)的.相反我們比較習(xí)慣于通過(guò)一個(gè)唯一的ID來(lái)找到一個(gè)控件。當(dāng)然,在jQuery中這個(gè)也是沒(méi)有問(wèn)題的,但是jQuery的選擇功能相對(duì)更加神奇。
使用jQuery的selectors能夠很容易定位到一個(gè)set的元素,相對(duì)來(lái)說(shuō)比在asp.net中使用迭代的規(guī)則來(lái)找到一個(gè)set的元素更加清晰和易于表達(dá)。
2.使用CSS類來(lái)代替styling。
另外一個(gè)不直觀的技術(shù)是把CSS類作為一個(gè)flag。與'selector engin'一樣,'flag'類也是個(gè)令人驚喜的東西。
舉個(gè)例子來(lái)說(shuō)吧,最近有個(gè)活動(dòng)是做一個(gè)在線的能夠與客戶端互動(dòng)的紙牌游戲。一個(gè)需求是紙牌需要有個(gè)onclick haddler在某個(gè)特定時(shí)間,不過(guò)這些事件只針對(duì)那些face down(臉朝下)的。作為一個(gè).net的開(kāi)發(fā)者我立刻能夠想到的辦法是讓這些紙牌在客戶端通過(guò)一個(gè)collection來(lái)編號(hào).然后我可以在需要的時(shí)候給這個(gè)數(shù)據(jù)一個(gè)onclick handlers。這個(gè)固然可以,不過(guò)難以維護(hù)且有點(diǎn)凌亂。
現(xiàn)在如果我使用CSS類來(lái)實(shí)現(xiàn),face up的紙牌我通過(guò)addclass方法為它們加上一個(gè)'flipped'類,然后可以通過(guò)一個(gè)簡(jiǎn)單的 '$(".card:not(.flipped)")'選擇那些face down的紙牌。使用jQuery的click(fn)功能能夠讓我使用幾行代碼就實(shí)現(xiàn)這個(gè)功能。更重要的是它更容易理解和讀取。
下面附上幾點(diǎn)英文原版的:
3。Understand unobtrusive JavaScript.
In the ASP.NET world, we use a lot of what's sometimes termed obtrusive JavaScript. This means that client-side event handlers are defined as attributes on elements. For example, several ASP.NET WebControls render an OnClick=”javascript:__doPostBack()”attribute as part of their markup. This is considered obtrusive JavaScript.
When ASP.NET was initially being developed, this inline JavaScript was the norm. However, as browsers began providing more sophisticated faculties for imperatively adding event handlers, this declarative technique quickly lost favor with client-side developers. As a consequence, the preferred approach has shifted toward what's called unobtrusive JavaScript.
Unobtrusive JavaScript is now considered a best practice when wiring up client-side event handlers. This is primarily because it facilitates separation of concerns between behavioral JavaScript and structural HTML markup. Unobtrusive JavaScript also helps you to write cleaner, more semantic markup, which improves accessibility and often has SEO benefits.
Coming from the save-compile-reload paradigm of statically typed server-side development, it's natural to approach client-side development in a similar fashion. While you certainly can write client-side code that way, it's akin to working blindfolded when you consider the alternatives.
Since JavaScript is usually interpreted by a browser, the browser is one of the best debugging environments available. In particular, a JavaScript “console” is terrific for interactively interrogating the DOM, testing jQuery selectors against actual markup, and refining JavaScript code in real-time.
My preferred browser-based tool is the Firebug addon to Firefox. I cannot praise this Firebug highly enough. It has revolutionized how I approach client-side development, both of JavaScript and of CSS. If you prefer Internet Explorer, IE8's updated developer tools are also very capable in this department.
Whatever your browser of choice, I urge you to give these utilities a try when debugging client-side functionality. Once you become proficient with one of these tools, you'll be amazed that you ever developed client-side code without it.
Even though browser-based tools are great for debugging, an ASP.NET developer's primary editor is still going to be Visual Studio. When writing jQuery code in Visual Studio, having proper Intellisense can make a tremendous difference in productivity. The discoverability that Intellisense provides is especially beneficial when you're unfamiliar with jQuery's API.
As part of the official support for jQuery, Microsoft provides a documentation file to provide jQuery Intellisense inside Visual Studio 2008. This is provided through what's called a vsdoc file, and is available on the jQuery download page (via the “Documentation: Visual Studio” links).
Jeff King has assembled an excellent FAQ to help you get Visual Studio 2008's JavaScript Intellisense working: http://blogs.msdn.com/webdevtools/archive/2008/11/18/jscript-intellisense-faq.aspx
相關(guān)文章
ASP.NET MVC制作404跳轉(zhuǎn)實(shí)例(非302和200)
本篇文章主要介紹了ASP.NET MVC制作404跳轉(zhuǎn)實(shí)例(非302和200) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
ASP.NET實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了ASP.NET實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11
.NET實(shí)現(xiàn)WebSocket服務(wù)端即時(shí)通信實(shí)例
本篇文章主要介紹了.NET實(shí)現(xiàn)即時(shí)通信,WebSocket服務(wù)端實(shí)例 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Asp.NEt郵箱驗(yàn)證修改密碼通過(guò)郵箱找回密碼功能
這篇文章主要介紹了Asp.NEt郵箱驗(yàn)證修改密碼通過(guò)郵箱找回密碼功能,需要的朋友可以參考下2017-10-10
Microsoft SQL Server 2005 Express 遠(yuǎn)程訪問(wèn)設(shè)置詳述,100%成功篇
Microsoft SQL Server 2005 Express Edition是Microsoft數(shù)據(jù)庫(kù)的低端解決方案,是免費(fèi)的,并且可以隨軟件免費(fèi)發(fā)布,而就其數(shù)據(jù)庫(kù)功能對(duì)于一般的企業(yè)級(jí)應(yīng)用已足夠了。但 默認(rèn)安裝時(shí)只允許本地訪問(wèn),而不能遠(yuǎn)程訪問(wèn)。2009-03-03
asp.net文件上傳帶進(jìn)度條實(shí)現(xiàn)案例(多種風(fēng)格)
這篇文章主要講解了asp.net文件上傳帶進(jìn)度條實(shí)現(xiàn)案例,有不同風(fēng)格的進(jìn)度條,一定有一款最適合你,感興趣的小伙伴們可以參考一下2015-09-09
asp.net Repeater取得CheckBox選中的某行某個(gè)值
Repeater取得CheckBox選中的某行某個(gè)值的實(shí)現(xiàn)代碼2008-07-07

