عدم ارسال مقدار تگ input به سمت کنترلر با استفاده از کد ajax
من در فرم خود که قرار است در دیتابیس ذخیره شود چندین input دارم و می خواهم با زدن عدد در یک input و کلید اینتر توسط کد های ایجکس اطلاعات کد مورد نظر را خوانده و در صفحه بدون لود مجدد فرم نمایش دهد و این کار را انجام داده ام اما مشکل اینجاست که تگ اینپوت که دارای کد های ایجکس می باشد برای فراخوانی اطلاعات با submit کردن فرم اطلاعاتش توسط مدل به سمت کنترولر ارسال نمی شود و در نتیجه چون مدل isvalid نیست از تبت اطلاعات در دیتا بیس جلو گیری می شود .
علت اینکه با اعمال کد های ایجکس از ارسال مقادیر تگ input جلو گیری می شود چیست و راه حل این مشکل چیست؟
شما مقادیر فرم خودتون رو با استفاده از ایجکس چجوری به سمت کنترلر ارسال کردید ؟ کدهاتون رو بذارید تا خطاش رو بگم بهتون
کدهای سمت کنترلر هم بذارید شاید اشکال در سمت کنترلر شما باشه
همونطوری که 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 مقدار دارند.
برای کسب اطلاعات بیشتر می تونید این لینک رو هم مطالعه بفرمایید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2