0

(コードビハインドで)画像を入力した文字列のリスト(リスト)があります。次に、「sbPrints」のキーを使用してハッシュテーブルに保存し、ajax呼び出しに戻します。

ただし、JavaScriptの特定のキー内でリストを反復処理する方法がわかりません。

javascriptのリストを含むhastableは次のようになります:h['sbPrints'].

私がこれについて尋ねている理由は、私が

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

次に、各画像の間に不要なコンマが表示されます。

編集:ハッシュテーブルがどのように入力されるか

iny my code-behind:

[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);
});

これにより、のすべてのアイテムが繰り返され、セレクターのjQuery値関数h['sbPrints']に渡されます。各反復で値が置き換えprintsられるため、なぜこれを実行するのかはわかりません。$.each

おそらくあなたが意味しているh['sbPrints']のは配列であり、それが文字列化されると、ブラウザはアイテムの間にコンマを挿入します。カンマなしのリストが必要な場合は、次のように実行できます。

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