3

asp.net Web APIに投稿するための以下のようなクラスがあります

public class PostData
{

    public int ID { get; set; }

    public int[] SelectedChoiceIDs { get; set; }

}

PostData私のApiControllerには、オブジェクトをパラメーターとして取得するsendというメソッドがあります。

public bool Send(PostData data)
{


}

問題は、メソッドをトレースするたびに、Web API が整数の配列、つまりSelectedChoiceIDsプロパティにバインドされていないことです。SelectedChoiceIDs整数の配列を " " プロパティに強制的にバインドするにはどうすればよいですか?

私が送信しているデータは次のようなものです

{ "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } 
4

2 に答える 2

9

何もする必要はありません。これは箱から出してすぐに機能します。

指定したオブジェクトを正確にPOSTする場合:

{ "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } 

を使用するContent-Type: application/jsonと、デフォルトのモデルバインダーが自動的にそれを取得します。

public class PostData
{

    public int ID { get; set; }

    public int[] SelectedChoiceIDs { get; set; }

}

public void DummyController : ApiController
{
    public void Post(PostData data)
    {
        //data here will be PostData with ID and an array of 4 integers
    }
}

Content-Typeを指定し、実際に正しいJSONを投稿していることを確認してください。たとえば、次の例ではありません。

{data: { "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } }
于 2013-01-11T19:37:56.477 に答える
-3

モデル内の ASP.NET MVC バインド配列の重複の可能性

これは、あなたがしなければならないことを説明するブログ投稿です。

于 2013-01-11T19:01:31.237 に答える