2009-11-23 1 views
0

Lorsque j'utilise un gestionnaire de script dans les applications Web Web Forms, d'où ASP.Net charge-t-il le framework Ajax? (Vous connaissez celui qui fournit $ find, $ get fonctions).Personnalisation d'ASP.Net Ajax Framework

Je cherche à remplacer le $ construit dans $, obtenir $ avec une logique supplémentaire pour contourner le mangling nom de la page maître.

Quelqu'un sait-il la meilleure façon de le faire? Je pense que je peux éditer le fichier source, ou injecter un script qui réattribue la fonction à mon implémentation. Je ne sais pas où le meilleur endroit serait d'injecter ce code.

Vous pouvez lire sur mon nom lié mutiler problème page maître here

Merci

Répondre

2

Les scripts viennent directement de l'Assemblée System.Web.Extensions. Mais vous pouvez changer où les scripts viennent d'utiliser une référence de script, comme ceci:

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

Pour obtenir le script, juste obtenir le directement sur la page rendue, le coller dans la barre d'adresse, et télécharger le script .

Une chose: il existe en fait deux versions de MicrosoftAjax.js dans l'assembly. Une version de version et une version de débogage. La version de débogage a beaucoup de script supplémentaire pour faire la vérification de type, et n'est pas crunched par un minifier javascript. Vous pouvez donc le personnaliser facilement, mais la taille du script va être assez grande. Il n'était pas destiné à être utilisé dans des environnements de production. Je vous recommande soit de personnaliser aussi très la version (qui sera très difficile en raison d'avoir à travailler avec le script croqué) ou vous reproduis la version en exécutant votre script personnalisé à travers le Microsoft Ajax Minifier:

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

Pour obtenir les deux versions, retournez la valeur debug = "false" à "true" et répétez l'étape de téléchargement. Nommez-le foo.js et foo.debug.js (foo étant ce que vous voulez - MicrosoftAjax étant le choix évident!)

Soyez également sûr et consultez les nouvelles façons de changer d'où viennent les scripts dans ASP.NET 4.0. Juste blogué à ce sujet ici:

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