2009-11-19 5 views
0

J'ai besoin d'avoir plusieurs variables dans mon code JS à partir de mon backend C# (ASP 2.0). Actuellement, j'utilise le code suivantChargement de plusieurs variables JS en utilisant RegisterStartupScript

string js; 
    if (swapSize == null && VMWare == null) 
     js = "var stackedUnknownExemptCheck = " + stacked.ToString().ToLower() + ";"; 
    else if (VMWare == null) 
     js = "var stackedUnknownExemptCheck = " + stacked.ToString().ToLower() + "; var swapSize = " + swapSize.ToString() + ";"; 
    else if (swapSize == null) 
     js = "var stackedUnknownExemptCheck = " + stacked.ToString().ToLower() + "; var VMWare = " + VMWare.ToString().ToLower() + ";"; 
    else 
     js = "var stackedUnknownExemptCheck = " + stacked.ToString().ToLower() + "; var VMWare = " + VMWare.ToString().ToLower() + "; var swapSize = " + swapSize.ToString() + ";"; 

    Page.ClientScript.RegisterStartupScript(this.GetType(), "", js, true); 

Cependant, la sortie finit toujours juste être la première variable jusqu'à la virgule (voir ci-dessous). Y at-il de toute façon à s'assurer que toutes les variables sont téléchargées? Merci.

<script type="text/javascript"> 
//<![CDATA[ 
var clusterMS = false;//]]> 
</script> 

Répondre

0

Voyant que je ne vois pas « clusterMS » figurant dans tout cela le javascript, je suppose que vous ne nommer vos blocs javascript. La partie où vous faites juste "" est le nom du script, si vous avez d'autres blocs de RegisterStartupScript, vous les écrasez à chaque fois, sauf s'ils ont un nom unique.

changement

Page.ClientScript.RegisterStartupScript (this.GetType(), "", js, true);

à

Page.ClientScript.RegisterStartupScript (this.GetType(), "VMSwapScript", js, true);

(Et donner à chaque script que vous vous inscrivez un nom unique)

Questions connexes