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 回答