[1] ASP.NET AJAX in .NET 3.5 and VS 2008 (.NET 3.5和VS 2008中的ASP.NET AJAX) 隨著VS 2008和.NET 3.5 Beta 2版本的發(fā)布,ASP.NET AJAX也被集成到了這個最新版本的框架/IDE中。相應(yīng)地版本號也變成了ASP.NET AJAX 3.5(質(zhì)的飛躍阿,呵呵)。 Scott在這篇Blog中指出了3.5版本中如下的幾點改進(jìn)之處:
對于“UpdatePanels with WebParts”和“support for WCF based JSON end-points”這兩條,看來還是非常引人入勝的。至于其他的種種……個人感覺并無太大的新意。 除此之外,Scott還介紹了一些ASP.NET AJAX 3.5相關(guān)的信息,主要都是有關(guān)版本共存/協(xié)調(diào)之類問題的。感興趣的朋友可以看一下。另外,ASP.NET AJAX Control Toolkit也隨即更新到了3.5版本:
每個人都在抱怨永遠(yuǎn)追不上微軟的腳步,不過微軟似乎并沒有聽進(jìn)去什么……腳步反倒越來越快了……
[2] Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5 (將應(yīng)用ASP.NET AJAX 1.0的Web站點和Web應(yīng)用程序升級到.NET Framework 3.5) 與上一篇Scott文章中的“高瞻遠(yuǎn)矚”不同,本文則更加貼合開發(fā)人員的實際工作。從標(biāo)題可以看得出來,這篇文章介紹了遷移現(xiàn)有ASP.NET AJAX 1.0應(yīng)用程序到最新的.NET 3.5上面的方法。遷移的方法共分三步,并不是非常困難,且這篇文章圖文并茂,每一步驟都足夠詳細(xì),顯得非常具有實用性。
[3] August 2nd Links: ASP.NET AJAX and the ASP.NET AJAX Control Toolkit (8月2號鏈接:ASP.NET AJAX和ASP.NET AJAX Control Toolkit) Scott的又一個鏈接列表,收集了一大批最新的ASP.NET AJAX和ASP.NET AJAX Control Toolkit資源,有文章、視頻、圖書等等:
不過看了下第4條中的視頻,覺得還是比較初級應(yīng)用,沒有什么高級的內(nèi)容(或許視頻本身就不適合講述高級內(nèi)容):
[4] How To: Access Underlying Data of the ObjectDataSource (如何在ObjectDataSource控件中訪問到實際的數(shù)據(jù)) 我們都知道,引入DataSource的目的就是為了讓我們開發(fā)者可以直接將UI控件與數(shù)據(jù)綁定起來,不用手工書寫一行代碼。但是往往某些時候我們需要對DataSource中包含的實際數(shù)據(jù)進(jìn)行訪問(雖然這種需求一般都是DataSource的設(shè)計不太好造成的)。 這篇文章就介紹了在ObjectDataSource控件中訪問實際數(shù)據(jù)的方法,應(yīng)該屬于一個小技巧吧。只要如下簡單的代碼即可: protected void ObjectDataSource1_Selected (object sender, ObjectDataSourceStatusEventArgs e) { DataSet underlyingDataSet = e.ReturnValue as DataSet; if (underlyingDataSet!=null) { // use the underlyDataSet... } }
[5] VS 2008 JavaScript Intellisense for Silverlight (VS 2008中對Silverlight的JavaScript智能感知支持) 目前版本的Silverlight還是要緊緊依靠JavaScript,不過好在VS 2008已經(jīng)對JavaScript智能感知提供了支持,讓開發(fā)人員省力不少。借助于這個功能,Justin-Josef Angel發(fā)起了一個Silverlight 1.0 JavaScript Intellisense CodePlex Project項目,讓Silverlight開發(fā)人員在書寫JavaScript時也能夠享受到這個巨大的便利。 使用方法非常簡單,首先引入下載的這個JavaScript文件:
然后——大功告成:
[6] Fiddler2 - JavaScript Beautifier Plugin (Fiddler 2的JavaScript代碼美化插件) 在調(diào)試Ajax應(yīng)用程序時,F(xiàn)iddler自然是我們非常重要的一個武器。不過其對JavaScript也是按照純文本的格式對待,并沒有任何形式的格式化。例如,我們會在Response或者Request窗口中看到下面的這類代碼: JsonRequestBuilder=function(b,c){var dynamicScript=new DynamicScript(b,c);JsonRequest=function(g,h,j,k,l,b,c){var responseFunc=h;var callback=k;this.Callback=function(j,m){var readyState=m;var responseObject=null;try{if(m=="loaded"||m== "complete"){responseObject=eval(responseFunc+"();");eval ("window."+responseFunc+" = null;");}}catch(e){readyState= "error";}finally{callbac(responseObject,j,readyState);}};this. rawRequest=dynamicScript.CreateReques(g,j,this.Callback,l,b,c); this.Execute=function(){this.rawRequest.Execute();};this. Abort=function(){this.rawRequest.Abort();};};function n // [...] 通過這款免費的插件,上述JavaScript將被格式化為如下的樣式: 怎么樣,還不錯吧?
[7] Post Production Debugging for ASP.NET Applications – Part 1 (ASP.NET應(yīng)用程序的部署后調(diào)試——第一部分) 所謂“部署后調(diào)試”,英文原文為“Post Production Debugging”,我也不知道應(yīng)該如何翻譯才好…… 但是這篇文章的內(nèi)容卻非常有深度——開發(fā)過程中的調(diào)試方法盡人皆知,不過要是程序已經(jīng)部署到了服務(wù)器之上,我們又應(yīng)該如何確保其能夠穩(wěn)定運行呢?如果出現(xiàn)了問題,那么應(yīng)該如何確定問題的原因呢? 這篇文章或許能夠回答一些你的此類疑問。
[8] ListView and DataPager in ASP.NET 3.5 (ASP.NET 3.5中的ListView和DataPager控件) ASP.NET 3.5已經(jīng)不再遙遠(yuǎn)。大牛Rick Strahl已經(jīng)給出了其中兩個新控件的介紹。 大牛說,ListView是一個介于DataGrid和Repeater之間的控件,既提供了DataGrid這樣豐富的功能,同時還允許我們非常容易地控制最終呈現(xiàn)出來的HTML——這一點和Repeater一樣。這是一段示例代碼: <asp:ListView ID="lvItems" runat="server" DataSourceID="Data" ItemContainerID="layoutTemplate" DataKeyNames="Pk" > <Layouttemplate> <div id="layoutTemplate" runat="server" /> </Layouttemplate> <ItemTemplate> <div class="itemdisplay"> <b><%# Eval("Sku") %></b><br /> <%# Eval("Abstract") %></div> </ItemTemplate> </asp:ListView> ListView提供了豐富的模板:
而ListView卻并沒有提供分頁的支持,因此DataPager則作為一個外部控件與ListView配合工作,共同為數(shù)據(jù)提供分頁功能。這是一段示例代碼: <div class="blockheader" style="padding:10px;text-align: right;"> <asp:DataPager ID="Pager" runat="server" PagedControlID="lvItems" PageSize="5" > <Fields> <asp:numericpagerfield ButtonCount="10" NextPageText="..." PreviousPageText="..." /> <asp:nextpreviouspagerfield FirstPageText="First" LastPageText="Last" NextPageText="Next" PreviousPageText="Previous" /> </Fields> </asp:DataPager> </div> |
|