راهکارهای موثر در ASP.Net > راهکارهای کار با داده در ASP.Net

 راهکار 7 - 6 : دریافت ، نمایش و ویرایش اطلاعات به وسیله کنترل LinqDataSource و DetailsView در ASP.Net

مقدمه :

در این راهکار یک جدول ساده پایگاه داده و یک صفحه ASP.Net را ایجاد می کنیم که از کنترل LinqDataSource استفاده می کند . صفحه این امکان را به کاربر می دهد تا اطلاعات را از پایگاه داده دریافت کرده و ویرایش یا حذف نماید . برای این منظور از کنترل DetailsView برای نمایش اطلاعات استفاده کرده و کنترل LinqDataSource نیز تمامی امکانات مورد نظر را بدون نیاز به کدنویسی خاصی در اختیارمان قرار می دهد . در این راهکار از ویرایشگر Object Relational Designer برای ایجاد یک کلاس استفاده می شود ، که هر جزء آن به جای یک موجودیت پایگاه داده عمل کرد و کنترل LinqDataSource برای انجام امور دریافت و ویرایش اطلاعات از کلاس ایجاد شده بهره می گیرد .

برای حمایت از این پروژه ، کتاب راهکارهای موثر در ASP.Net را دانلود نمایید ...

پیش نیازها :

برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد :

  1. Microsoft Visual Studio .
  2. Microsoft .NET Framework version 2.0 یا بالاتر ( همراه با ویژوال استودیو نصب می شود ) .
  3. دسترسی و اتصال به پایگاه داده SQL Server .

مرحله اول - طراحی یک سایت ASP.Net :

در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید . فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ، در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو بروید .

مرحله دوم - ایجاد یک پایگاه داده :

برای انجام این راهکار در مرحله اول نیاز داریم تا یک جدول پایگاه داده را برای نگهداری اطلاعات ایجاد نماییم . برای این منظور مراحل زیر را انجام دهید :

  1. اگر سایت شما دارای پوشه App_Data نیست ، درمنوی Solution Explorer بر روی نام سایت کلیک راست نموده و از طریق گزینه Add ASP.NET Folder ، پوشه App_Data را به سایت اضافه کنید .
  2. بر روی پوشه App_Data ، کلیک راست کرده و از بخش Installed Templates پنجره باز شده ، گزینه SQL Database را انتخاب نمایید سپس نام آن را به Reviews.mdf تغییر داده و گزینه  Add را بزنید .
  3. در منوی Server Explorer ، پایگاه داده Reviews.mdf را کلیک کرده و بر روی پوشه Tables راست کلیک نمایید . گزینه Add New Table را انتخاب کرده و فیلدهای زیر طبق عکس زیر در پایگاه داده ایجاد کنید :
  4. پس از تعیین فیلدهای جدول ، آن را ذخیره کرده و با نام MovieReviews ذخیره نمایید .
  5. سپس در منوی Server Explorer، بر روی نام جدول MovieReviews کلیک راست کرده و مطابق تصویر زیر گزینه Show Table Data را انتخاب نمایید . 
  6. پنجره ای باز می شود که از طریق آن می توانید مقادیری را بصورت دستی در رکوردهای جدول وارد نمایید . چند رکورد را به جدول اضافه کنید . به صورت زیر :

مرحله سوم - ایجاد کلاس های لازم برای جایگزینی موجودیت های پایگاه داده :

برای کار با کنترل LinqDataSource ، کلاس هایی را ایجاد می کنیم که به جای موجودیت های پایگاه داده ایفای نقش می کنند . بوسیله نرم افزار ویژوال استودیو به راحتی می توان این کلاس ها را ایجاد نمود :

  1. بر روی پوشه App_Code در منوی Solution Explorer ، راست کلیک نموده و گزینه Add New Item را انتخاب کنید .
  2. از پنجره باز شده و قسمت Installed templates ، یک شی Linq to SQL Classes را انتخاب کرده و آن را Reviews.dbml نام گذاری کرده و Add را بزنید .
  3. پنجره Object Relational Designer باز می شود . از منوی Server Explorer ، جدول MovieReviews را درگ کرده و بر روی پنجره Object Relational Designer رها کنید . جدول MovieReviews و فیلدهای آن به عنوان یک شی یا موجودیت با نام MovieReview در پنجره ویرایشگر قرار می گیرند . مطابق تصویر زیر :
  4. فایل Reviews.dbml را ذخیره نمایید .
  5. از منوی Solution Explore فایل Reviews.designer.cs یا Reviews.designer.vb را بر حسب نوع زبانی که برای برنامه نویسی سایت خود انتخاب کرده اید ، باز کنید .
  6. توجه داشته باشید که در فایل های Reviews.designer.cs یا Reviews.designer.vb ، دو موجودیت به نام های ReviewsDataContext و MovieReview قرار داشته و به ترتیب به جای پایگاه داده مثال و جدول آن ، در کلاس ایجاد شده ، ایفای نقش می کنند . همچنین تابع سازتده ReviewsDataContext ، که بدون پارامتر می باشد ، رشته ارتباطی ( Connection String ) را از فایل web.config سایت می خواهند .
  7. فایل web.cnofig را باز نمایید . مشاهده می کنید که رشته ارتباطی یا Connection String به المنت connectionString فایل web.config اضافه شده است .

مرحله چهارم - ایجاد و تنظیم یک کنترل LinqDataSource :

اکنون که شما یک جدول پایگاه داده و کلاس هایی که به جای موجودیت های آن عمل می کنند را در اختیار دارید ، می توانید از یک کنترل LinqDataSource برای کار با داده ها بر روی صفحات ASP.Net استفاده کنید .

  1. در برنامه ویژوال استودیو یک صفحه جدید را ایجاد کرده و به حالت Design بروید .
  2. از بخش Data منوی Toolbox یک کنترل LinqDataSource را بر روی صفحه قرار دهید .
  3. از منوی Smart Tag panel کنترل که همانند یک فلش بر روی آن نمایش داده می شود ، گزینه Configure Data Source را انتخاب کنید . همانند تصویر زیر :
  4. در پنجره Configure Data Source ، گزینه ReviewsDataContext را انتخاب نمایید . همان کلاسی که در مرحله قبل ساخته بودیم . مطابق مثال زیر :
  5. مقدار خاصیت TableName را به MovieReviews تغییر دهید . مطابق تصویر زیر :
  6. جدول زیر کد نهایی کنترل  LinqDataSource  را نمایش می دهد :

مرحله پنجم - اضافه کردن یک کنترل DetailsView جهت نمایش اطلاعات :

شما می توانید یک کنترل DetailsView را به صفحه اضافه نمایید تا اطلاعات خروجی از کنترل LinqDataSource را نمایش دهد . برای این منظور مراحل زیر را انجام دهید :

  1.  به حالت Design صفحه رفته و از منوی Toolbox یک کنترل DetailsView را بر روی صفحه قرار دهید .
  2.  مطابق تصویر زیر ، از قسمت Smart Tag panel کنترل ، مقدار خاصیت data source کنترل را به LinqDataSource1 تغییر دهید .
  3.  گزینه Enable Paging را علامت بزنید ، این کار باعث می شود تا اطلاعات کنترل صفحه بندی شود . کد زیر ، کد نهایی کنترل DetailsView را نمایش می دهد . به آن دقت نمایید . توجه نمایید که مقدار خاصیت DataKeyNames کنترل معادل نام فیلد کلید جدول تعیین شده و همچنین به ازای هر فیلد جدول یک المنت bound field به کنترل اضافه شده است .
  4.  تغییرات را ذخیره کرده و با زدن کنترل CTRL + F5 صفحه را اجرا نمایید . کنترل DetailsView اطلاعات بازگشتی از جدول MovieReviews را نمایش می دهد .

مرحله آخر - فراهم کردن امکان ویرایش ، وارد نمودن و حذف اطلاعات برای کاربر :

کنترل LinqDataSource می تواند دستورات لازم را برای ویرایش ، وارد نمودن و حذف اطلاعات از پایگاه داده را تولید نماید . برای فعال سازی این دستورات مراحل زیر را انجام دهید :

  1. بر روی کنترل LinqDataSource مطابق تصویر زیر کلیک کرده و گزینه های Enable Delete, Enable Insert, and Enable Update را فعال نمایید .
    کد کنترل LinqDataSource بصورت زیر درخواهد آمد :
  2. همچنین در کنترل DetailsView ، مطابق تصویر زیر گزینه های Enable Inserting, Enable Editing, and Enable Deleting را فعال کنید .
    کد کنترل DetailsView بصورت زیر درخواهد آمد :

    توجه داشته باشید که فیلد MovieID ( که کلید جدول بوده و مقدار آن برای هر رکورد یکتاست ) ، در کد کنترل DetailsView نمایش داده می شود ، ولی در خروجی آن وجود ندارد . این فیلد باید در کد وجود داشته باشد تا کنترل LinqDataSourceبتواند اعمال داده ای مختلف مثل updating, inserting, and deleting را انجام دهد . همچنین شما برای انجام هیچکدام از عملیات های داده ای ، نیازی به کدنویسی خاصی ندارید .
  3. مجددا صفحه را ذخیره کرده و با زدن کلیدهای CTRL + F5 آن را اجرا نمایید .

دانلود فایل عملی پروژه و نسخه PDF راهکار



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1