آموزش پیشرفته ASP.Net Web Forms درج رکورد جدید با Entity Framework

گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
405 بار بازدید - 3 سال پیش - در قسمت قبلی ما یک
در قسمت قبلی ما یک گریدویو ایجاد کردیم که "نام" و "نام خانوادگی" رو نمایش میداد و یک ستون جدید هم برای دکمه ویرایش اضافه کردیم که مقابل هر رکورد یک دکمه برای ویرایش قرار میداد. در این قسمت میخواهیم کاری کنیم که کاربر با کلیک روی دکمه ویرایش ، فرم Action شبیه به یک مودال دیالوگ باز شه و آیدی رکورد مورد نظر بطور خودکار بصورت یک query string به فرم Action ارسال شه تا با استفاده از کنترلرهای داخل فرم Action بتونیم رکوردی که بصورت یک query string به فرم Action ارسال شده رو ، ویرایش یا حذف کنیم.برای شروع در محیط ویژاول ابتدا وارد فرم Action میشیم و دوتا اینپوت باکس برای "نام" و "نام خانوادگی" ، روی فرم قرار میدیم.سه تا asp:Button هم برای new و edit و delete اضافه میکنیم.یک تگ a هم برای بازگشت و بسته شدن فرم Action اضافه میکنیم.داخل تگ head یک فانکشن جاوااسکریپت به نام CloseWin مینویسیم و اون رو داخل رویداد OnClick تگ a فراخوانی میکنیم تا کاربر با کلیک روی بازگشت به فرم Index بازگردد و فرم Action نیز بسته شود.به فرم Index یک دکمه به نام "جدید" اضافه میکنیم تا کاربر با کلیک روی اون فرم Action رو باز کنه و بتونه رکورد های جدید رو insert کنه.اما باید توجه داشته باشیم که هر وقت کاربر در فرم Index روی دکمه "جدید" کلیک کرد و فرم Action باز شد ، داخل فرم اکشن تنها دکمه new نمایش داده شود و دکمه های edit و delete از دید کاربر مخفی باشند و وقتی در فرم Index روی دکمه "ویرایش" کلیک کرد و فرم Action باز شد ، داخل فرم اکشن تنها دکمه edit و delete نمایش داده شود و دکمه new از دید کاربر مخفی باشد.بنابراین مجددا تابع جاوااسکریپتی که از قبل نوشته بودیم یعنی OpenWin رو داخل رویداد OnClick تگ a فراخوانی میکنیم و پارامتر ورودی "1-" را به آن می دهیم سپس وارد Page_Load فرم Action میشیم و شرط میذاریم که اگر آیدی query string برابر null بود درنتیجه کاربر به فرم ErrorPage منتقل شود ، مجددا شرط میگذاریم اگر آیدی query string برابر با "1-" بود در نتیجه دکمه های edit و delete رو پنهان کن (یعنی کاربر در فرم Index دکمه "جدید" را زده) در غیر این صورت دکمه new رو پنهان کن (یعنی کاربر در فرم Index دکمه "ویرایش" را زده).قدم بعدی کدهای داخل دکمه new رو میزنیم ، ابتدا یک نمونه از مدل مون میسازیم سپس یک نمونه از موجودیت یا آبجکت Student میسازیم.سپس مقادیر رو از اینپوت باکسهای داخل فرم Action به فیلدهای Name و LastName آبجکت Student پاس میدیم و مرحله بعدی آبجکت ساخته شده از موجودیت Student رو به مدلمون Add میکنیم و در بعد از دستور SaveChange اضافه میکنیم.در آخر هم با استفاده از کد ScriptManager.RegisterStartupScript دستورجاوااسکریپت window.opener.location.reload رو داخل دکمه new استفاده میکنیم تا وقتی که کاربر رکورد جدید رو وارد کرد بلافاصله فرم index ریلود شود.
3 سال پیش در تاریخ 1400/07/14 منتشر شده است.
405 بـار بازدید شده
... بیشتر