2016-09-26 8 views
0

次のオブジェクトとコントローラのページを投稿する文字列形式を取得する方法C#で直列化オブジェクトを変換する方法。そのようなMVCコントローラでオブジェクトを直列化オブジェクトに変換する方法

[HttpPost] 
    public object StoreCheckList(object ChkList) 
    { 

    } 

[{"Remarks": "Teat","CountryId": 1,"ClientId": 1,"FacilityId": 1,"SpaceId":2},{"Remarks": "Teat","CountryId": 1,"ClientId": 1,"FacilityId":1,"SpaceId": 5}] 

答えて

0

使用Newtonsoft.Jsonは、:

YourObjectType obj = JsonConvert.DeserializeObject<YourObjectType>(json); 
3

あなたは強く型付けされたモデルが結合するためのサポートが組み込まれMVCSを利用することができます。まず、入力オブジェクトと一致するプロパティを持つクラスを作成します。

public class StoreCheckListModel { 
    public string Remarks {get;set;} 
    public int CountryId {get;set;} 
    public int ClientId {get;set;} 
    public int FacilityId {get;set;} 
    public int SpaceId {get;set;} 
} 

その後にあなたのMVCのアクションを変更:名前が示すように

[HttpPost] 
public object StoreCheckList(StoreCheckListModel[] ChkList) { 

} 
0

、MVCはモデル、ビュー・コントローラです。あなたの質問は私の投稿されたリクエストをコントローラでどのように処理するのかです。

しかし、あなたのコントローラでそれを処理する前に、あなたのModelViewがこのパターンと一致するように設計されていることを確認する必要があります。

Modelを使用していないようです。だからまず、以下のようなモデルを作成します。

public class MyModel 
{ 
    public string Remarks { get; set; } 
    public int CountryId { get; set; } 
    public int ClientId { get; set; } 
    public int FacilityId { get; set; } 
    public int SpaceId { get; set; } 
} 
は、このようなあなたのコントローラメソッドを変更し

[HttpPost] 
public object StoreCheckList(IEnumerable<MyModel> chkList) 
{ 
    List<MyModel> myCheckList = chkList.ToList(); 
    ///do what you want to do 
} 

それはどんな直列化関連のコードなしであるように、これは動作するはずです。

関連する問題