0

C# バックエンド (ASP 2.0) から複数の変数を JS コードに取り込む必要があります。現在、次のコードを使用しています

    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);

ただし、出力は常にセミコロンまでの最初の変数になります (以下を参照)。すべての変数がアップロードされることを確認する方法はありますか? ありがとう。

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

1 に答える 1

0

そのjavascriptのいずれにも「clusterMS」がリストされていないので、javascriptブロックに名前を付けていないことを前提としています。「」を実行している部分はスクリプトの名前です。他のRegisterStartupScriptブロックがある場合は、一意の名前がない限り、毎回上書きします。

変化する

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

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

(そして、登録するすべてのスクリプトに一意の名前を付けます)

于 2009-11-19T19:50:08.920 に答える