0

我有一个用图片填充的字符串列表(列表)(在我的代码隐藏中)。然后我将它存储在一个带有“sbPrints”键的哈希表中,然后返回给ajax调用。

但是我不知道如何在 javascript 中迭代该特定键内的列表。

包含 javascript 列表的 hastable 如下所示:h['sbPrints'].

我问这个的原因是因为如果我这样做

$('#prints').val(h['sbPrints']); 

然后我最终在每张图片之间添加了不需要的逗号。

编辑:如何填充哈希表

iny 我的代码隐藏:

[WebMethod]
public static Hashtable getPersonInfo(int personID)
{
     Hashtable h = new Hashtable();
     SqlDataReader drThumbs;
     drThumbs = comGetThumbs.ExecuteReader();
     List<string> fingerPrints = new List<string>();
     while(drThumbs.Read())
     {
          fingerPrints.Add("<div class=\"fingerprints\"><img alt='prints' src='../ShowThumbnail.ashx?BFID=" + drThumbs["BinaryFileID"].ToString() + "'/><div><label><a class=\"finger\" href='../DownloadFile.aspx?id=" + drThumbs["BinaryFileID"].ToString() + "'>" + drThumbs["FileName"].ToString() + "</label></div></div>");
     }
}

然后在我的 javascript 文件中,我对该方法进行 ajax 调用,并使用来自哈希表的数据填充我的 asp 控件。

4

1 回答 1

1

我不太明白你的意思,但是这个怎么样:

$.each(h['sbPrints'], function(i, v) {
  $('#prints').val(v);
});

这将遍历每个项目h['sbPrints']并将它们传递给prints选择器的 jQuery 值函数。我真的不知道您为什么要这样做,因为$.each将替换每次迭代中的值。

也许您的意思是这h['sbPrints']是一个数组,当它被字符串化时,您的浏览器将在项目之间插入逗号。如果您只想要不带逗号的列表,那么您可以这样做:

$('#prints').val(h['sbPrints'].join(''));
于 2012-12-07T15:38:45.567 回答