首页 > 解决方案 > 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。

编辑:我的列表后面的代码是从数据表列中的值派生的。

标签: javascriptc#asp.net

解决方案


更改以下代码行

HFList = this.CSVList.split(',');

HFList = CSVList.split(',');

因为 CSVList 是局部变量。


推荐阅读