javascript - ASP.net - 将列表从后面的代码传递到 java 脚本的最佳方法是什么?
问题描述
在 javascript 中,我想将下拉列表中的选定值与后面的 C# 代码中的值列表进行比较。我尝试通过 HiddenField 传递字符串列表,但我无法解决“无法获取未定义或空引用的属性‘拆分’”的问题。
环顾 Stackoverflow 和其他地方,我尝试了以下代码的许多变体,但“拆分错误”让我受阻。
<asp:HiddenField ID="HiddenFieldList" runat="server" />
//Code behind:
HiddenFieldList.Value = String.Join(",", ValuesList);
//javascript
var CSVList = document.getElementById("HiddenFieldList").value;
var HFList = [];
HFList = this.CSVList.split(',');
// hoping to get to here...
for(i = 0; i < HFList.length; i++)
{
if (DDL == HFList[i])
{
do stuff ;
break ;
}
}
或者......我应该传递一个数组而不是为我的隐藏字段分配一个字符串列表?Fwiw - 该项目不是 MVC。
编辑:我的列表后面的代码是从数据表列中的值派生的。
解决方案
更改以下代码行
HFList = this.CSVList.split(',');
到
HFList = CSVList.split(',');
因为 CSVList 是局部变量。
推荐阅读
- ajax - 加载文章后,播放器脚本不起作用?
- c - 替换列表中涉及## 运算符的参数化宏
- javascript - 使用 ionic 和 cordova 时如何解决此意外错误
- javascript - 在外部函数中操作变量并返回它们(JS)
- node.js - discord.js 如何按名称获取频道 ID?
- python - 打印嵌套列表,python
- visual-studio - 使用“包引用”为项目重新添加“内容”的工具或方法
- django - 对图像场的困惑
- html - 如何使用 shadow DOM 在动态加载的 Web 组件样式中加载 @font-face
- css - 按下菜单切换时导航栏菜单不显示