2009-09-23 6 views
1

J'utilise ScriptManager dans ma page ASP.NET, et que vous souhaitez ajouter un ScriptReference qui est une demande de page comme ceci:Ajout d'un ScriptReference Dynamiquement qui est une demande de page à ScriptManager

var id = 10; 
tsm.CompositeScript.Scripts.Add(new ScriptReference("~/Response.aspx?action=test&id=" + id)); 

mais génère une erreur :

'~/Response.aspx?action=test&id=10' is not a valid virtual path. 

Je devrais ajouter ce script dynamiquement, que dois-je faire?

Répondre

3

Vous essayez de mélanger un chemin virtuel avec les paramètres querystring, je pense que la méthode ASP.NET sous-jacente qui résout la partie "~" s'attend à ce que la chaîne soit un chemin virtuel pur, pas une URL. Ainsi, le mapper comme un chemin pur d'abord, puis ajoutez la requête:

tsm.CompositeScript.Scripts.Add(new ScriptReference(ResolveClientUrl("~/Response.aspx") + "?action=test&id=" + id)); 
+0

grâce je l'ai enlevé. –