-2

Javaスクリプトでjson変数を作成します

var Token = { "TagItem": { "TagList": [tags] } };

タグの場所

"AA","BB","CCC","DDDD"

ajax を使用して asp mvc コントローラーを呼び出し、json をメソッドに送信します。デシリアライズされたjsonオブジェクトは

public class TagItem
{
   public List<string> TagList { get; set; }
}

["AA"、"BB"、"CCC"、"DDDD"] の単一の値を使用してリストへの ajax 呼び出しで逆シリアル化されます。
私が書いたかのように多くの値の代わりに

var data = { "tagItem": { "TagList": ["AA", "BB", "CCC", "DDDD"]} };

これはうまくいきます。

jsで書く方法についてのアイデアはありますか?

4

1 に答える 1

3

[tags]タグのみの要素を持つ配列を作成します。

tagsが のようなカンマ区切りの文字列の場合、"AA,BB,CCC,DDDD"を使用.splitして配列に変換できます。

var Token = { "TagItem": { "TagList": tags.split(',') } };

更新: あなたが投稿したスクリーンショット ( http://i.imgur.com/IzSGS8L.png ) を見た後、ここに本当のエラーが何であるかがわかります。それはあなたが作成している方法ですtags

"、またはを追加する必要はありません,。配列/オブジェクトを構築しているだけで、文字列を構築していません。 .mapを使用して文字列に変換する必要はありません.join。配列として使用するだけです。

var tags = $('#myTags input[name="tags"]').map(function(){
    return $(this).val();
}).get();

var Token = { "TagItem": { "TagList": tags } };

[]注:周りにはありませんtags。これはすでに配列であるため、別の配列に追加する必要はありません。

于 2013-05-07T20:51:40.737 に答える