2010-10-07 3 views
3

Je suis en train de résoudre les chemins corrects à javascript scripts dans ma section de tête à l'aide:Quand doit-on appeler Page.Header.DataBind?

<script src="<%# ResolveUrl("~/Scripts/jquery-1.4.2.min.js") %>" type="text/javascript" /> 

Afin de résoudre le chemin que je dois appeler DataBind en utilisant Page.Header.DataBind(); Quel événement dois-je placer l'appel DataBind dans?

Merci.

Référence: http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/

Quand je mets en Page_Load que l'article suggère qu'il fonctionne (pour Firefox), mais je me demande si c'est le bon endroit.

Quand je suis cet article IE 8 rend:

<script src="/Scripts/jquery-1.4.2.min.js" type="text/javascript" /> 

et Firefox 3.6 correctement rend:

<script src="../../Scripts/jquery-1.4.2.min.js" type="text/javascript" /> 

Mise à jour:

problèmes de navigateur fixes en mettant à jour une référence de script dans une référence contrôle utilisateur pour utiliser ResolveUrl. Maintenant, les problèmes de navigateur sont corrigés. Je me demande toujours où mettre Databind.

Répondre

0

fixe en ajoutant ID and runat="server" à lier (stylesheet), trouver le contrôle en tête, appelant DataBind sur le lien au lieu d'en-tête ensemble.

2

Remplacez <%# par <%=, à partir de ce moment, vous n'avez plus besoin d'appeler Page.Header.DataBind();, car vous n'effectuez aucune liaison de données réelle dans votre expression. Voir this question pour les différences dans les étiquettes ASP.NET.

Sur la page principale que j'utilise dans tous mes projets:

<script type="text/javascript" src='<%= ResolveUrl("~/js/jquery-1.4.2.min.js") %>' ></script> 
+2

Lorsque j'essaie de le faire de cette façon, j'obtiens: La collection de contrôles ne peut pas être modifiée car l'erreur Contrôle contient des blocs de code. –

+0

Quelle version de Visual Studio? J'avoue être un peu confus, car ma section master est configurée exactement comme celle de la référence que vous venez de publier, mais je n'ai aucune erreur (Visual Studio 2008 - projet d'application web - .NET 3.5). –

+0

VS2010 Projet d'application Web ultime, .NET 3.5 –

Questions connexes