gpt4 book ai didi

Javascript if 语句失败

转载 作者:行者123 更新时间:2023-11-29 21:45:11 25 4
gpt4 key购买 nike

我不完全确定为什么会这样。我想要做的是将一个 C# 变量注入(inject)到 javascript if 语句中,但它没有按照我想要的方式执行,我不确定为什么。

我的 C# 命名空间中有一个列表

C# 列表:

List<string> unitNamesMainChart = new List<string>();

加载时此列表中没有任何内容,因此我想确保我不会在没有任何内容的情况下访问列表,因为这会引发错误,因此我在 javascript 中有一个 if 语句。

Javascript

if(<%=unitNamesMainChart.Count %> >= 1 ){
a = <%= unitNamesMainChart[0] %>
}else{
a = ''
}
if(<%=unitNamesMainChart.Count %> >= 2)
{
b = <%= unitNamesMainChart[1] %>
}else{
ba = ''
}
//etc. There are numerous if statements.

理想情况下,我想检查列表中是否有任何内容,如果有,将其设置为变量 a在 javascript 中,如果列表中没有任何内容,则设置 a=''

实际发生的事情是,当代码执行时,它在 a = <%= unitNameMainChart[0] %> 崩溃了。因为第 0 个地方什么都没有。

知道为什么代码会这样执行吗?

最佳答案

这一行:

if(<%=unitNamesMainChart.Count %> >= 1 ){

在 javascript 中被转换为这一行:

if(0 >= 1){

其中 0 可以是任何数字,任何可能实际上是零。

这一行:

a = <%= unitNamesMainChart[0] %>

转换为:

a = --Something--

假设 --Something-- 是数组的第一个值。

您错误地混合了 JavaScript 和 .net 代码。

您正在寻找这样的东西:

<%if(unitNamesMainChart.Count >= 1){%>
a = <%= unitNamesMainChart[0] %>;
<%}
else
{%>
a = -1; // or something
<%}%>

您将在页面上看到的 JavaScript 将是:

a = -- Something --

if\else 是 .net 代码,而输出 (a = -- Something --) 是 JavaScript。

关于Javascript if 语句失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31457868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com