ارسال Model که در داخل View هست به Controller با استفاده از jquery

6/26/2017 MVC
1850

عموما در Jquery  با استفاده از  Id  و یا کلاس Class یک ابجکت میتوان به مشخصات آن ابجکت دسترسی پیدا کرد ، اما در این مورد مثلا ما محصول را با استفاده از 

@model mySite.Models.Product

به ویوو پاس داده بودم و در هیج یک از ابجکتها از Id  محصول استفاده نکرده بودم اما مشخصات Id در Model  وجود داشت، نیاز داشتم تا Model  را در Jquery  استفاده کنم،

برای استفاده از Model که در ویوو وجود دارد تا بتوان آن را با استفاده ازJquery  و یا Ajax به Controller پاس داد از قطعه کد زیر استفاده کردم

  var model =@Html.Raw(Json.Encode(Model));

در ابتدا با این خطا مواجهه شدم 

A circular reference was detected while serializing an object of type

و با تععین یک ویژگی از Model ان خطا برطرف شد در انتها کد به این صورت در آمده بود

  $("#ProductCount").change(function () {
                var lall = $(this).val();
                var model =@Html.Raw(Json.Encode(Model.Id));
                $.ajax({
                    type: 'GET',
                    url: '/Product/ppro',
                    data: { Id: lall, pid: model },
                    contentType: 'application/json; charset=utf-8',
                    datatype: 'json',
                    success: function (data) { SuccessRoleChangeHandler(data);}

                })
            });
            function SuccessRoleChangeHandler(data) {

                alert("in success role change");

            }
        });