使用RegisterStartupScript加载多个JS变量

时间:2009-11-19 07:46:22

标签: c# javascript startupscript

我需要从我的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>

1 个答案:

答案 0 :(得分:0)

由于我没有在任何javascript中看到“clusterMS”,我假设你从未命名过你的javascript块。你正在做的部分“”是脚本的名称,如果你有其他RegisterStartupScript块你每次都要覆盖它们,除非它们有一个唯一的名称。

更改

  

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

  

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

(并为每个脚本注册一个唯一的名称)