3

HTML テーブルがあり、テーブルのコンテンツをコントローラー メソッドに渡したいと考えています。JQuery を使用して配列を作成し、それらを JSON オブジェクトに変換します。

                           var array_MACAddress = [];
                           var $MacAddress = $(".macaddress");

                           for (var i = 0, len = $MacAddress.length; i < len; i++) {
                               var $MAC = $($MacAddress[i]);
                               console.log($MAC.text()); ////for testing only!!!
                               array_MACAddress.push({
                                   key: $MAC.data("key"),
                                   value: $MAC.text()
                               });
                           }; 

(上記のコードは " " という列の配列を作成しますMACAddress)、次に以下のコードを使用してそれらを JSON オブジェクトに変換します

var json_MACAddress = json.stringify(array_MACAddress);

JSON オブジェクトをコントローラー メソッドに渡すにはどうすればよいですか?

public ActionResult ActivationManagement(String jsonData)
4

2 に答える 2

0

したがって、webapi を使用するか、私の記憶が正しければ、コントローラー メソッドの上の行に [HttpPost] を追加するだけです。

[HttpPost]
public ActionResult ActivationManagement(String jsonData)

ajax リクエストの本文は文字列である必要があり、文字列をサーバー側で操作できるオブジェクトに変換する必要があるため、JSON オブジェクトから何が期待できるかを知っている場合は、定義することを検討してください。独自のカスタム オブジェクトを作成し、MVC で本文を解析してカスタム オブジェクトに変換します。

例えば

public CustomObject ()
{
    public string id {get;set;}
    public string address {get;set;}
}

...

[HttpPost]
public ActionResult ActivationManagement(CustomObject jsonData)

申し訳ありませんが、私は MVC に少し慣れていませんが、これが一般的な考え方だと思います。

于 2013-08-21T00:08:58.807 に答える