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

گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
472 بار بازدید - 3 سال پیش - به نام خدا.در قسمت قبلی
به نام خدا.در قسمت قبلی ما کدهای مربوط به insert کردن رکورد های جدید رو نوشتیم اما در این جلسه قصد داریم کدهای مربوط به ویرایش و حذف یک رکورد با استفاده از انتیتی فریمورک رو بنویسیم.برای اینکه کدهای دکمه edit رو بنویسیم قبل از هرچیزی ابتدا باید کاری کنیم وقتی که کاربر در فرم Index روی دکمه "ویرایش" کلیک کرد بلافاصله بصورت اتوماتیک آیدی دانش آموز در قالب یک query string به فرم Action ارسال شود که در قسمت قبل اینکار رو کردیم.قدم بعدی باید وقتی که ایونت Page_Load فرم Action اجرا شد ، مشخصات دانش آموز اعم از Name و LastName از مدل به کنترلرهای فرم Action پاس داده شود.بدین ترتیب در فرم Action داخل ایونت Page_Load تو قسمت else شرط ، وقتی که دکمه new پنهان میشود باید یکسری کد بزنیم که داده ها از مدل به کنترلرهای اینپوت باکس وارد شوند. تو قسمت else شرط ، ابتدا یک شرط (!ispostback) میگذاریم و داخل شرط وقتی که دکمه new پنهان میشود ابتدا یک نمونه از مدل یا container میسازیم سپس با استفاده از دستور linq شرط میگذاریم که مشخصات دانش آموزی که آیدی ش با آیدی ای که از query string برابره رو داخل متغییر var QuerySt بریز (الان تنها مشخصات یک دانش آموز داخل متغییر var QuerySt قرار دارد) سپس داده هایی که داخل فیلدهای Name و LastName داخل QuerySt قرار داره رو به کنترل های تکست باکس فرم Action پاس میدیم تا بتونیم مشخصات رو ویرایش کنیم. مرحله بعدی ما ایونت کلیک دکمه edit رو باز میکنیم و داخلش ابتدا آیدی ای که از query string میاد رو داخل یک متغییر به نام ID میریزیم.مجددا مثل قبل یک نمونه از مدل یا container میسازیم بعد با دستور linq شرط میگذاریم که مشخصات دانش آموزی که آیدی ش با آیدی ای که از query string برابره رو داخل متغییر var QuerySt بریز سپس داده هایی که داخل کنترل های تکست باکس فرم Action قرار داره رو به فیلدهای Name و LastName داخل متغییر QuerySt پاس میدیم و با استفاده از دستور SaveChange تغییرات مدل رو تو دیتابیس ذخیره میکنیم در آخر هم با استفاده از کد ScriptManager.RegisterStartupScript دستورجاوااسکریپت window.opener.location.reload رو داخل دکمه new استفاده میکنیم تا وقتی که کاربر رکورد جدید رو وارد کرد بلافاصله فرم Index ریلود شود.کد دکمه delete هم دقیقا شبیه کد دکمه edit هست اما بجای اینکه مقداری رو از کنترل ها به مدل پاس بدیم از این کد استفاده میکنیم تا رکورد مورد نظر ابتدا از داخل مدل حذف شود سپس با استفاده از دستور SaveChange تغییرات مدل رو تو دیتابیس ذخیره میکنیم در نتیجه وقتی رکوردی از موجودیتهای داخل مدل حذف شده باشه با دستور SaveChange همون تغییرات تو دیتابیس هم اعمال میشه.
3 سال پیش در تاریخ 1400/07/14 منتشر شده است.
472 بـار بازدید شده
... بیشتر