C# 使用RegisterStartupScript加载多个JS变量
我需要从我的C#后端(ASP 2.0)将多个变量添加到我的JS代码中。目前我使用以下代码C# 使用RegisterStartupScript加载多个JS变量,c#,javascript,startupscript,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 stack
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>
//
鉴于我没有在任何javascript中看到“clusterMS”,我假设您从未命名javascript块。刚才执行“”的部分是脚本的名称,如果有其他RegisterStartupScript块,则每次都会覆盖它们,除非它们具有唯一的名称
改变
Page.ClientScript.RegisterStartupScript(this.GetType(),
“”,js,true)
到
Page.ClientScript.RegisterStartupScript(this.GetType(),
“VMSwapScript”,js,true)
(并为正在注册的每个脚本指定一个唯一的名称)