راهکارهای موثر در ASP.Net > راهکارهای کار با داده در ASP.Net
راهکار 7 - 6 : دریافت ، نمایش و ویرایش اطلاعات به وسیله کنترل LinqDataSource
و DetailsView در ASP.Net
مقدمه :
در این راهکار یک جدول ساده پایگاه داده و یک صفحه ASP.Net را ایجاد می کنیم که از
کنترل LinqDataSource استفاده می کند . صفحه این امکان را به کاربر می دهد تا اطلاعات
را از پایگاه داده دریافت کرده و ویرایش یا حذف نماید . برای این منظور از کنترل DetailsView
برای نمایش اطلاعات استفاده کرده و کنترل LinqDataSource نیز تمامی امکانات مورد نظر
را بدون نیاز به کدنویسی خاصی در اختیارمان قرار می دهد . در این راهکار از ویرایشگر
Object Relational Designer برای ایجاد یک کلاس استفاده می شود ، که هر جزء آن به جای
یک موجودیت پایگاه داده عمل کرد و کنترل LinqDataSource برای انجام امور دریافت و ویرایش
اطلاعات از کلاس ایجاد شده بهره می گیرد .
برای حمایت از این پروژه ، کتاب
راهکارهای موثر در ASP.Net را دانلود نمایید ...
پیش نیازها :
برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد
:
- Microsoft Visual Studio .
- Microsoft .NET Framework version 2.0 یا بالاتر ( همراه با ویژوال استودیو نصب می
شود ) .
- دسترسی و اتصال به پایگاه داده SQL Server .
مرحله اول - طراحی یک سایت ASP.Net :
در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید
. فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ،
در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو
بروید .
مرحله دوم - ایجاد یک پایگاه داده :
برای انجام این راهکار در مرحله اول نیاز داریم تا یک جدول پایگاه داده را برای نگهداری
اطلاعات ایجاد نماییم . برای این منظور مراحل زیر را انجام دهید :
- اگر سایت شما دارای پوشه App_Data نیست ، درمنوی Solution Explorer بر روی نام سایت
کلیک راست نموده و از طریق گزینه Add ASP.NET Folder ، پوشه App_Data را به سایت اضافه
کنید .
- بر روی پوشه App_Data ، کلیک راست کرده و از بخش Installed Templates پنجره باز شده
، گزینه SQL Database را انتخاب نمایید سپس نام آن را به Reviews.mdf تغییر داده و
گزینه Add را بزنید .
- در منوی Server Explorer ، پایگاه داده Reviews.mdf را کلیک کرده و بر روی پوشه Tables
راست کلیک نمایید . گزینه Add New Table را انتخاب کرده و فیلدهای زیر طبق عکس زیر
در پایگاه داده ایجاد کنید :
- پس از تعیین فیلدهای جدول ، آن را ذخیره کرده و با نام MovieReviews ذخیره نمایید .
- سپس در منوی Server Explorer، بر روی نام جدول MovieReviews کلیک راست کرده و مطابق
تصویر زیر گزینه Show Table Data را انتخاب نمایید .
- پنجره ای باز می شود که از طریق آن می توانید مقادیری را بصورت دستی در رکوردهای جدول
وارد نمایید . چند رکورد را به جدول اضافه کنید . به صورت زیر :
مرحله سوم - ایجاد کلاس های لازم برای جایگزینی موجودیت های پایگاه داده :
برای کار با کنترل LinqDataSource ، کلاس هایی را ایجاد می کنیم که به جای موجودیت
های پایگاه داده ایفای نقش می کنند . بوسیله نرم افزار ویژوال استودیو به راحتی می
توان این کلاس ها را ایجاد نمود :
- بر روی پوشه App_Code در منوی Solution Explorer ، راست کلیک نموده و گزینه Add New
Item را انتخاب کنید .
- از پنجره باز شده و قسمت Installed templates ، یک شی Linq to SQL Classes را انتخاب
کرده و آن را Reviews.dbml نام گذاری کرده و Add را بزنید .
- پنجره Object Relational Designer باز می شود . از منوی Server Explorer ، جدول MovieReviews
را درگ کرده و بر روی پنجره Object Relational Designer رها کنید . جدول MovieReviews
و فیلدهای آن به عنوان یک شی یا موجودیت با نام MovieReview در پنجره ویرایشگر قرار
می گیرند . مطابق تصویر زیر :
- فایل Reviews.dbml را ذخیره نمایید .
- از منوی Solution Explore فایل Reviews.designer.cs یا Reviews.designer.vb را بر حسب
نوع زبانی که برای برنامه نویسی سایت خود انتخاب کرده اید ، باز کنید .
- توجه داشته باشید که در فایل های Reviews.designer.cs یا Reviews.designer.vb ، دو
موجودیت به نام های ReviewsDataContext و MovieReview قرار داشته و به ترتیب به جای
پایگاه داده مثال و جدول آن ، در کلاس ایجاد شده ، ایفای نقش می کنند . همچنین تابع
سازتده ReviewsDataContext ، که بدون پارامتر می باشد ، رشته ارتباطی ( Connection
String ) را از فایل web.config سایت می خواهند .
- فایل web.cnofig را باز نمایید . مشاهده می کنید که رشته ارتباطی یا Connection String
به المنت connectionString فایل web.config اضافه شده است .
مرحله چهارم - ایجاد و تنظیم یک کنترل LinqDataSource :
اکنون که شما یک جدول پایگاه داده و کلاس هایی که به جای موجودیت های آن عمل می کنند
را در اختیار دارید ، می توانید از یک کنترل LinqDataSource برای کار با داده ها بر
روی صفحات ASP.Net استفاده کنید .
- در برنامه ویژوال استودیو یک صفحه جدید را ایجاد کرده و به حالت Design بروید .
- از بخش Data منوی Toolbox یک کنترل LinqDataSource را بر روی صفحه قرار دهید .
- از منوی Smart Tag panel کنترل که همانند یک فلش بر روی آن نمایش داده می شود ، گزینه
Configure Data Source را انتخاب کنید . همانند تصویر زیر :
- در پنجره Configure Data Source ، گزینه ReviewsDataContext را انتخاب نمایید . همان
کلاسی که در مرحله قبل ساخته بودیم . مطابق مثال زیر :
- مقدار خاصیت TableName را به MovieReviews تغییر دهید . مطابق تصویر زیر :
- جدول زیر کد نهایی کنترل LinqDataSource را نمایش می دهد :
مرحله پنجم - اضافه کردن یک کنترل DetailsView جهت نمایش اطلاعات :
شما می توانید یک کنترل DetailsView را به صفحه اضافه نمایید تا اطلاعات خروجی از کنترل
LinqDataSource را نمایش دهد . برای این منظور مراحل زیر را انجام دهید :
- به حالت Design صفحه رفته و از منوی Toolbox یک کنترل DetailsView را بر روی
صفحه قرار دهید .
- مطابق تصویر زیر ، از قسمت Smart Tag panel کنترل ، مقدار خاصیت data source
کنترل را به LinqDataSource1 تغییر دهید .
- گزینه Enable Paging را علامت بزنید ، این کار باعث می شود تا اطلاعات کنترل
صفحه بندی شود . کد زیر ، کد نهایی کنترل DetailsView را نمایش می دهد . به آن دقت
نمایید . توجه نمایید که مقدار خاصیت DataKeyNames کنترل معادل نام فیلد کلید جدول
تعیین شده و همچنین به ازای هر فیلد جدول یک المنت bound field به کنترل اضافه شده
است .
- تغییرات را ذخیره کرده و با زدن کنترل CTRL + F5 صفحه را اجرا نمایید . کنترل
DetailsView اطلاعات بازگشتی از جدول MovieReviews را نمایش می دهد .
مرحله آخر - فراهم کردن امکان ویرایش ، وارد نمودن و حذف اطلاعات برای کاربر :
کنترل LinqDataSource می تواند دستورات لازم را برای ویرایش ، وارد نمودن و حذف اطلاعات
از پایگاه داده را تولید نماید . برای فعال سازی این دستورات مراحل زیر را انجام دهید
:
- بر روی کنترل LinqDataSource مطابق تصویر زیر کلیک کرده و گزینه های Enable Delete,
Enable Insert, and Enable Update را فعال نمایید .
کد کنترل LinqDataSource بصورت زیر درخواهد آمد :
- همچنین در کنترل DetailsView ، مطابق تصویر زیر گزینه های Enable Inserting, Enable
Editing, and Enable Deleting را فعال کنید .
کد کنترل DetailsView بصورت زیر درخواهد آمد :
توجه داشته باشید که فیلد MovieID ( که کلید جدول بوده و مقدار آن برای هر رکورد یکتاست
) ، در کد کنترل DetailsView نمایش داده می شود ، ولی در خروجی آن وجود ندارد . این
فیلد باید در کد وجود داشته باشد تا کنترل LinqDataSourceبتواند اعمال داده ای مختلف
مثل updating, inserting, and deleting را انجام دهد . همچنین شما برای انجام هیچکدام
از عملیات های داده ای ، نیازی به کدنویسی خاصی ندارید .
- مجددا صفحه را ذخیره کرده و با زدن کلیدهای CTRL + F5 آن را اجرا نمایید .
دانلود فایل عملی پروژه و نسخه PDF راهکار
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :