دسته بندی ها
08:35 1398/10/05

عدم ارسال مقدار تگ input به سمت کنترلر با استفاده از کد ajax

مشخصات سوال کننده :
کاربر : Soltani     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2905
پاسخ دهنده : fateme 13:52 1398/10/05

شما مقادیر فرم خودتون رو با استفاده از ایجکس چجوری به سمت کنترلر ارسال کردید ؟ کدهاتون رو بذارید تا خطاش رو بگم بهتون

کدهای سمت کنترلر هم بذارید شاید اشکال در سمت کنترلر شما باشه

ویرایش شده در پنج شنبه 5 دی 1398 ساعت 13:56:23
به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
پاسخ دهنده : saedbfd 21:34 1398/10/05

همونطوری که fateme گفته بهتر بود کدهایی که قرار دادید هم سمت سرور و هم سمت کلاینت رو اینجا قرار می دادید تا بشه راهنمایی بهتری در مورد ارسال مقادیر فرم توسط Ajax انجام داد. اما به طور کلی برای ارسال مقادیر فرم به سمت سرور توسط ایجکس می تونید از کد زیر استفاده کنید :

 

ابتدا برای form خودتون یک Id مشخص کنید. برای form مقادیر asp-controller و asp-action رو مشخص نکنید :

 

<form id="myfrm">

     <input value="2" asp-for="Model.item1" />
     <input value="5" asp-for="Model.item2" />


     <input id="btnsubmit" type="button" value="submit" />
</form>

 

سپس در بخش کدهای جی کوئری توسط FormValue میتونید همه مقادیر موجود در فرم رو به سمت سرور ارسال کنید

 

 <script>
        $('#btnsubmit').on("click", function () {

            var formValue = $("#myfrm").serialize();


            $.ajax({
                type: "post",
                url: '@Url.Action("Action", "Controller")',
                data: formValue });

         });
 </script>

 

با استفاده از FormData یا FormValue ها شما می تونید به راحتی با استفاده از Ajax همه مقادیر موجود در form رو به سمت سرور ارسال کنید. در کنترلر هم فقط کافیه به عنوان پارامتر model رو تعریف کنید و مشاهده خواهید کرد که همه فیلدهای model مقدار دارند.

برای کسب اطلاعات بیشتر می تونید این لینک رو هم مطالعه بفرمایید.

 

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود