My ASP.NET AJAX Client Library Tips
3 |
講到ASP.NET AJAX,很多人想到是拉個UpdatePanel,完全不必搞懂Javascript,就可以寫出AJAX的東東。事實上,ASP.NET AJAX除了讓大家可以用懶人法寫AJAX之外,在Javascript的Support上也提供了不少強化,這點之前就曾提過。
最近又重回Web開發的工作,在策略上重用ASP.NET AJAX Client Library,也陸續學會不少小技巧,以下是幾個我覺得不錯的,整理出來給大家參考:
- $get("elementName"):
這是一定要的啦,可以取代document.getElementById("elementName"),省打不少字,還可避免一不留神寫出document.all("elementName")這種IE專屬語法,被FireFox User臭罵。 - $addHandler(elementName, "click", clickEventFunction)以及$removeHandler(elementName, eventFunction):
不必再花時間去找FireFox掛事件的方法囉,支援同時加掛多個事件函數在同一事件上的功能。 至於eventFunction會得到一個evt參數,evt.target在相當於event.srcElement,且是跨Browser可用。以下是個簡單的例子:
<input type="button" id="btn" value="Click!" />
<script type="text/javascript">
$addHandler($get("btn"), "click", btnClick);
function btnClick(evt)
{
alert(evt.target.value);
}
</script>
- Array.enqueue(arrayVariable, object)及Array.dequeue(arrayVariable):
原本打算自己寫個Queue的,沒想到AJAX Client Library裡就有現成的可用。以下是簡單的範例:<script type="text/javascript">
var ary = [ "1", "2", "3" ];
Array.enqueue(ary, "4");
Array.enqueue(ary, "5");
while (ary.length > 0) {
alert(Array.dequeue(ary));
}
</script>
- Number.format & Number.parseInvariant:
Number.format()主要用來轉成#,##0.00的格式,但它比.NET的Format函數陽春許多, Number.parseInvariant則可以用將具有千位號的文字轉回數字。 格式化字串分兩部分,第一個字元代表格式,之後接著的是小數點的位數,例如: num.format("n2")表示以千位逗點號分隔,並留兩位小數。可用的格式如下:- p: 百分比字串(e.g.: -1,234.56 %)
- d: 無逗點分隔號字串(e.g.: -1234.56)
- c: 金額格式,負數用括號夾(e.g.: (¤1,234.56))
- n: 逗點分隔字串 (e.g.: -1,234.56)
延伸閱讀: 函數說明
【PS】
在Post這篇的同時,向大家報告一個消息:
我移情別戀了!!
要搞定Javascript,ASP.NET AJAX Client Library已不是我的最愛了。最近我與另一位美人jQuery陷入瘋狂熱戀中! 這位美人究竟有何魔力,讓原本心如止水的中年人再度熱血沸騰?? 就留待近期陸續揭曉吧!
Comments
# by 大估
最近大估也是在研究jQuery呀… 黑暗大大…難到我們變心的對象,是同一個嗎!!!! (好狗血的對話~~~)
# by Ammon
我早就嫁給他了XD
# by Ammon
忘了送上,我想很多人需要這個 jQuery Intellisense in Visual Studio http://www.west-wind.com/weblog/posts/251271.aspx