PDA

View Full Version : سوال: مشکل ajax.beginform با layout.cshtml_



bftarane
شنبه 22 خرداد 1395, 22:08 عصر
سلام
من می خوام با استفاده از ajax.beginform درج به صورت ایجکسی انجام بدم که البته این کار هم انجام میشه ولی یک مشکلی که وجود داره اینه که وقتی به ویوی مورد نظر layout میدم به شکل زیر:

Layout = "~/Views/Shared/_Layout.cshtml";

پس از کلیک روی دکمه درج بعضی عناصر موجود در layout تکرار می شن مثل شکل زیر، همونطور که می بینید قسمت هایی که با فلش و مستطیل علامت گذاری کردم تکرار شدن
140819
یک نمونه هم درست کردم که می تونید خودتون تست کنید این قضیه رو
اسم کنترلر هم students هست و اکشن create

http://s000.tinyupload.com/?file_id=60762732248017858668

ممنون

mbasirati
دوشنبه 24 خرداد 1395, 16:55 عصر
خب شما احتمالا توی اکشن، return View() زدید که خب طبیعیه که اینطوری بشه

bftarane
دوشنبه 24 خرداد 1395, 22:16 عصر
return partialview هم زدم باز همون مشکل وجود داشت

فقط وقتی UpdateTargetID رو برداشتم این مشکل حل شد، البته چون اینجا من به UpdateTargetID نیازی نداشتم برداشتنش ایرادی نداره ولی به هر حال ممکنه جایی لازم باشه و بنابراین این یک مسکن موقت بود اینجا.
یه راه حل دیگه هم اینه که بعد از ثبت کاربر رو به یک view دیگه بفرستم ولی خوب من نمی خواستم اینجا همچین کاری کنم. نهایت می خواستم فرم ثبت رو hidden کنم و پیغام موفقیت رو تو همون view نمایش بدم.

شما می تونید مثال کاملی که از ajax.beginform و اختصاص layout استفاده شده باشه برام بزارید؟

mbasirati
چهارشنبه 26 خرداد 1395, 01:18 صبح
کاری که شما باید بکنید اینه که فرم create رو داخل یه پارشیال ویو بذارید و توی اکشن بعد از انجام عملیات یه پارشیال دیگه (مثلا پارشیالی که یه پیغام alert رو نمایش میده) رو ریترن کنید تا به جای پارشیال create نمایش داده بشه.