2009-11-23 180 views
0

當我在Web Forms Web應用程序中使用腳本管理器時,ASP.Net從哪裏加載Ajax框架? (你知道提供$ find,$ get函數的函數)。自定義ASP.Net Ajax框架

我正在尋找替換內置$ find,$ get與一些額外的邏輯來解決母版頁名稱的問題。

有人知道我能完成這件事的最佳方式嗎?

我在想我可以編輯源文件,或者注入一些腳本來重新分配函數給我的實現。只是不確定哪個地方最適合注入該代碼。

你可以閱讀我的相關名稱重整母版頁問題here

感謝

回答

2

腳本來直接從System.Web.Extensions程序組件。但是,你可以更改腳本來自使用腳本參考,像這樣:

<asp:ScriptManager runat="server"> 
    <Scripts> 
     <asp:ScriptReference Name="MicrosoftAjax.js" Path="~/scripts/MicrosoftAjax.js" /> 
    </Scripts> 
</asp:ScriptManager> 

要拿到劇本,剛拿到直接出了渲染頁面,將其粘貼到地址欄,並下載腳本。

有一件事 - 組件中實際上有兩個版本的MicrosoftAjax.js。發行版本和調試版本。調試版本有很多額外的腳本來進行類型檢查,並且不通過javascript minifier進行處理。所以你可以很容易地定製它,但腳本的大小將會非常大。這並不意味着在生產環境中使用。所以我強烈建議你要麼還可以自定義的發行版(這將是非常困難的,由於具有與該嘎吱嘎吱腳本工作),或者你重現通過微軟的Ajax Minifier運行自定義腳本的發行版:

http://stephenwalther.com/blog/archive/2009/10/16/using-the-new-microsoft-ajax-minifier.aspx

要獲得這兩個版本,只需將debug =「false」值翻轉爲「true」並重復下載步驟即可。將它命名爲foo.js和foo.debug.js(foo是你想要的任何東西 - 微軟Ajax是明顯的選擇!)

另外請確保並檢查新的方法來更改腳本來自ASP.NET 4.0。剛剛在這裏發表了博文:

http://weblogs.asp.net/infinitiesloop/archive/2009/11/23/asp-net-4-0-scriptmanager-improvements.aspx