私はアクションメソッドにJSONオブジェクトを送ります。すべてがクライアント側で動作し、JSONオブジェクトは正しいように見えますが、設定されている唯一の値は単純なプロパティです。リストの数は常に0です。Jsonモデルバインダーが入れ子になっていないList <T> Asp.Net MVC 3
次は、サーバーに送信されるJSONオブジェクトの例です。私はちょうど全体のJSON文字列を警告し、以下にそれを貼り付け:ここ
{"Tags":"
[{\"Id\":0,\"Title\":\"Windows 8\",\"TagType\":\"Generic\"},{\"Id\":0,\"Title\":\"Dreamweaver\",\"TagType\":\"Generic\"},{\"Id\":0,\"Title\":\"Word\",\"TagType\":\"Generic\"}]",
"CurrentPage":"5",
"ItemsPerPage":"10",
"SearchPhrase":"blaha"}
は、C#のクラスは次のとおりです。ここで
public class SearchParams
{
public List<Tag> Tags { get; set; }
public string ItemsPerPage { get; set; }
public string SearchPhrase { get; set; }
public string CurrentPage { get; set; }
}
public class Tag
{
public int Id { get; set; }
public string Title { get; set; }
public string TagType { get; set; }
}
は、アクションメソッドである:結合
public JsonResult Search(SearchParams searchParams)
{
//Stuff happens here
}
モデルのために働いています3つの文字列プロパティ:
ItemsPerPage == 10
SearchPhrase == "blaha"
CurrentPage == 5
Tag.Count == 0 ????
ここに3つのタグ項目があるはずです:(
ここには何か分かりにくいものがありますか?
BR
キム
jsの設定はどのように見えますか? 'JSON.stringify'を使って? –
はい私はStringifyを使用しています。クライアント側はあまりにも複雑で混乱の原因になりますので、何も貼り付けることは避けました。 knockoutjs observablesとノックアウト観測配列はjqueryのオートコンプリートなどを使用しています...私は問題が非常にシンプルだったのでうれしいです。私は最初にko.ToJsonでオブジェクトをシリアライズしていましたが、後でJSON.Stringifyを使用して配列内の基底のjsonオブジェクトを破損させました – Kimpo