0

コントローラーにモデルがあります

 public partial class CategoryModel
{
...  
    public int[] SelectedCustomerIds { get; set; }
}

コントローラーからビューに渡されます。Model.SelectedCustomerIds で jquery 配列を埋めるにはどうすればよいですか

 <script type="text/javascript">
        var selectedIds = [];  << what to replace here
4

3 に答える 3

1

あなたができることは、最初にjQueryでオブジェクトを作成し、AJAXを使用してサーバーにajax呼び出しを行い、サーバー側でオブジェクトを取得し、そのオブジェクト値をモデル値に転送するだけです!!

$.ajax({
                    type: "GET",        //GET or POST or PUT or DELETE verb
                    url: ajaxUrl,       // Location of the service
                    data: yourObject,       //Data sent to server
                    contentType: "",        // content type sent to server
                    dataType: "json",   //Expected data format from server
                    processdata: true,  //True or False
                    success: function (json) {//On Successful service call
                        var result = json.name;
                        $("#dvAjax").html(result);
                    },
                    error: ServiceFailed    // When Service call fails
                });

サーバ側

using System.Web.Services;
    [WebMethod()]
    //[ScriptMethod()]
    public static void SendMessage(CategoryModel yourModelObject )
    {

    }
于 2013-10-18T05:29:20.893 に答える
1

JSON.NETを使用できます

<script type="text/javascript">
        var selectedIds = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.SelectedCustomerIds))
于 2013-10-18T05:35:51.350 に答える
0

JavaScript 側の配列プッシュを使用する場合は、これをビューで試して、すべての配列要素を非表示 @Html.Hidden("SelectedCustomerIds_"+i, Model.SelectedCustomerIds[i])
にして JavaScript に配置します

var selectedCustomerIds = [];
       $('*[id*=SelectedCustomerIds_]').each(function () {
        selectedCustomerIds.push($(this).val());
    });
 });
于 2013-10-18T05:58:34.270 に答える