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

راهکار 1 - 8 : طراحی یک سایت داده ای دینامیک در Asp.Net

مقدمه :

در این راهکار قصد داریم تا نحوه طراحی و ایجاد یک وب سایت داده ای دینامیک و پویا در Asp.Net را ، با حداقل کدنویسی لازم آموزش دهیم . مهم ترین مزیت و امکان سایت های داده ای پویا ، چهاچوب بندی مشخص اطلاعات است . یعنی چه ؟

هنگامی که چهارچوب بندی داده ( Data Scaffolding ) در یک وب سایت داده ای پویا Asp.Net ، فعال باشد ، Asp.Net مدل دیتای موجود در صفحه را آنالیز کرده و چهارچوب و نحوه نمایش اطلاعات در صفحه را بر مبنای آن مدل تولید می کند . این تولید اتوماتیک محتوای صفحات امکان نمایش ، درج ، حذف و ویرایش اطلاعات را برای هر جدول به راحتی فراهم می کند .

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

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

پیش نیازها :

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

  1. Microsoft Visual Studio .
  2. SQL Server Express که بر روی کامپیوتر شما نصب شده باشد . این برنامه معمولا با ویژوال استودیو نصب می شود و پایگاه داده AdventureWorks که در فایل پروژه راهکار قرار داده شده است .

مرحله اول : طراحی یک وب سایت داده ای پویا در Asp.Net :

شما می توانید برای ایجاد یک وب سایت داده ای پویا در Asp.Net از تمپلیت های آماده ویژوال استودیو استفاده نمایید . برای این منظور به روش زیر عمل نمایید :

  1. برنامه ویژوال استودیو را باز کرده و از منوی File گزینه New Web Site را کلیک نمایید . تا پنجره آن مطابق تصویر زیر باز شود :


  2. از بخش Installed Templates ، زبان مورد نظر خود برای کدنویسی سایت را انتخاب نمایید ، VB یا #C.
  3. در پنل میانی ، یکی از دو تمپیلت آماده زیر را برای طراحی سایت خود انتخاب نمایید :
    • برای استفاده از مدل LINQ to SQL ، گزینه ASP.NET Dynamic Data LINQ to SQL Web Site را انتخاب نمایید .
    • برای استفاده از مدل ADO.NET Entity Framework ، گزینه ASP.NET Dynamic Data Entities Web Site را انتخاب نمایید .
  4. در کارد Web Location ، گزینه File System راانتخاب نموده و در کادر متن مقابل آن نیز ، مکان ذخیره سازی فایل های وب سایت را تعیین نمایید . سپس با زدن دکمه Ok ، برنامه ویژوال استودیو ، سایت جدید را برای شما ایجاد می کند .
    راهنمایی : برای دریافت اطلاعات راجع به تفاوت مدل های فوق به بخش ASP.NET Dynamic Data Layer Customization بروید .

مرحله دوم - اضافه نمودن اطلاعات به وب سایت :

مرحله بعدی در راهکار ، اضافه نمودن فایل پایگاه داده به سایت برای تامین اطلاعات است . بعد از آن می توانید ، ار این پایگاه داده برای ایجاد Data Context ( کلاس هایی که به جای موجودیت های پایگاه داده مثل جدول ها ، فیلدها ، و ... ایفای نقش می کنند ) استفاده نموده و سپس آنها را در مدل داده ای پویا به کار ببرید .

نحوه اضافه کردن پایگاه داده به پروژه وب سایت :

  1. در منوی Solution Explorer ، بر روی پوشه App_Data کلیک راست کرده و سپس گزینه Add Exsiting Item را بزنید تا پنجره آن مطابق تصویر زیر باز شود :


  2. از طریق ویزارد پنجره باز شده ، به جستجوی پایگاه داده مورد نظر خود پرداخته ( در این راهکار پایگاه AdventureWorks ) و آن را انتخاب نمایید .
    برنامه ویژوال استودیو ، یک نسخه کپی از این پایگاه داده را به ساست شما اضافه می کند .

مرحله بعدی ، طراحی مدل داده ای است . در این راهکار ما از هر دو روش LINQ و Entity Framework برای ایجاد مدل داده ای استفاده خواهیم کرد .

طراحی مدل داده ای با استفاده از کلاس LINQ to SQL :

  1. در مرحله اول دقت نمایید ، آیا وب سایت شما دارای پوشه App_Code می باشد یا خیر . اگر نیست ، بر روی نام وب سایت کلیک راست نموده و از منوی Add ASP.NET Folder ، پوشه App_Code را به پروژه وب سایت اضافه نمایید .
  2. سپس بر روی پوشه App_Code کلیک راست کرده و گزینه Add New Item را بزنید ، تا پنجره آن بصورت زیر باز شود . زبان مورد نظر برای برنامه نویس کلاس را از بین VB یا #C انتخاب نموده ، سپس از بخش میانی گزینه LINQ to SQL Classes را انتخاب نمایید . در کادر Name ، یک نام دلخواه را برای کلاس خود مثل AdventureWorks.dbml تعیین نمایید . سپس دکمه Add را بزنید . پنجره Object Relatival Designer باز می شود .


  3. در پنجره O/R Designer ، منوی Server Explorer را باز کرده و از بخش Data Connections ، گروه پایگاه داده AdventureWorks را باز نموده و از بخش Tables آن ، چندین جدول موجود را درگ کرده و بر روی پنجره O/R Designer رها کنید . هر جدول موجود در پایگاه داده بصورت یک موجودیت یا مدل در پنجره فوق نمایش داده می شود . فایل AdventureWorks.dbml را ذخیره نمایید . کلاس های به وجود آمده ، به صورت زیر هستند :

  4. در منوی Solution Explorer ، یکی از فایل های AdventureWorks.designer.cs یا AdventureWorks.designer.vb که بر حسب زبان انتخابی شما در زیر فایل  AdventureWorks.dbml ایجاد شده را باز کرده و به محتویات آن دقت نمایید . متوجه خواهید شد که کلاسی به نام AdventureWorksLTDataContext درون آن ایجاد شده که به جای پایگاه داده ایفای نقش خواهد کرد . همچنین این فایل شامل کلاس هایی به نام Product و Customer بود که جانشین جدول های پایگاه داده در کلاس ایجاد شده هستند . همچنین تابع سازنده شی AdventureWorksDataContext ، اطلاعات رشته ارتباطی (ConnectionString) را برای اتصال به پایگاه داده از فایل Web.config می خواند .
  5. دقت نمایید که المنت ConnectionStrings شامل رشته ارتباطی لازم برای اتصال به پایگاه داده AdventureWorks است . فایل Web.Config را ببندید .

طراحی مدل داده ای با استفاده از Entity Framework :

  1. بر روی پوشه App_Code کلیک راست نموده و گزینه Add New Item را مجددا بزنید تا پنجره آن باز شود .
  2. زبان مورد نظر برای برنامه نویسی کلاس را انتخاب کرده و از قسمت وسط پنجره گزینه ADO.Net Entity Data Model کلیک نمایید . در قسمت Name یک نام دلخواه برای فایل کلاس خود مثل AdventureWorks.edmx تعیین کنید . سپس بر روی گزینه Add کلیک نمایید . همانند تصویر زیر :

  3. پنجره Entity Data Model Wizard ، مطابق تصویر زیر باز می شود :

  4. گزینه Generate from datebase را علامت زده و Next را کلیک نمایید .
  5. در قسمت ? Which data connection should your application use to connect to the database  ، گزینه Adventure Works . mdf را از لیست انتخاب نمایید . همچنین مطمئن شوید که گزینه Save entity connection settings in Web.config as علامت خورده باشد . شما می توانید نام این ارتباط را بدون تغییر ، رها نمایید . گزینه Next را بزنید . همانند تصویر زیر :

  6. ویزارد صفحه ای را به شما نشان می دهد که درون آن می توانید تعیین نمایید چی اشیایی از پایگاه داده درون پروژه شما باشند . گره Tablesرا برای انتخاب و اضافه نمودن چندین جدول از پایگاه داده به کلاس مورد نظر علامت بزنید . در نهایت نیز دکمه Finish را کلیک نمایید . مطابق تصویر زیر :

  7. در منوی Solution Explorer ، فایل AdventureWorks.designer.cs یا AdventureWorks.designer.vb را که بر حسب زبان تعیین شده شما ایجاد شده است را در زیر فایل .edmx باز کنید . اگر دقت نمایید فایل حاوی کلاسی به نام AdventureWorks_DataEntities که جانشین پایگاه داده در کلاس بوده و همچنین کلاس هایی نیز برای جانشینی جداول پایگاه داده را شامل می شود .
  8. همچنین در فایل Web.config یک رشته ارتباطی برای اتصال به پایگاه داده AdventureWorks در المنت ConnectionStrings ایجاد شده است . مرحله بعدی اتصال مدل دیتاهای ایجاد شده ( Data Context ) برای استفاده در سیستم داده ای پویا است .

نحوه ثبت کردن مدل دیتا در وب سایت :

  1. فایل Global.aspx را باز نموده و کدهای بخش DefaultModel.RegisterContext را پاک نمایید . سپس به جای خطی که در تصویر زیر نمایش داده شده است ، کدهای جدول زیر را قرار دهید .

  2. مقدار خاصیت Contexttype را بر روی مقدار صحیح و مقدار خاصیت ScaffoldAllTables را بر روی true تنظیم نموده و در حالت مدل LINQ to SQL کدهای زیر را به پروژه اضافه نمایید :
    VB کد Defaultmodel.RegisterContext(GetType(AdventureWorksDataContext),
      New ContextConfiguration() With {.ScaffoldAllTables = True})
    C# کد DefaultModel.RegisterContext(typeof(AdventureWorksDataContext),
       new ContextConfiguration() { ScaffoldAllTables = true });
  3. کدهای فوق مدل دیتاهای ایجاد شده را برای استفاده در سایت داده ای پویا ، ثبت می کند . اگر کد فوق را اضفه نکنید ، دیتا مدل شما کار نخواهد کرد ! .
  4. اگر هم از مدل Entity Framework استفاده کر ده اید ، کده های زیر را اضافه نمایید :
    VB کد Defaultmodel.RegisterContext(GetType(AdventureWorks_DataEntities),
    New ContextConfiguration() With {.ScaffoldAllTables = True})
    C# کد DefaultModel.RegisterContext(typeof(AdventureWorks_DataEntities),
    new ContextConfiguration() { ScaffoldAllTables = true });
  5. فایل Global.aspx را ذخیره کرده و ببندید .

مرحله آخر - امتحان کردن وب سایت داده ای پویا :

اکنون زمان آن است که سایت دینامیک طراحی شده خود را تست نماییم . برای این منظور مراحل زیر را انجام دهید :

  1. فایل Defult.aspx را باز کرده و با زدن کنترل Ctrl+F5 آن را اجرا نمایید .
  2. صفحه لیستی را به شما نمایش می دهد که شامل تمامی جداولی است که در مراحل قبل بر شی مدل داده ای اضافه کرده بودید .مثل تصویر زیر :

  3. برای نمونه بر روی یکی از جداول مثل جدول Product کلیک کنید . صفحه جدیدی باز خواهد شد که اطلاعات جدول انتخاب شده را نمایش می دهد . اگر جدول دارای کلید فیلد خارجی باشد ، لینکی درون آن فراهم شده که به صفحه جدول مرتبط با آن متصل است . اگر هم جدول یک جدول مادر است ، دارای لینکی خواهد بود که از طریق آن می توانید به جداول فرزند آن دسترسی داشته باشید .
  4. دکمه Delete موجود بر روی صفحه را برای حذف یک رکورد از جدول بزنید .
  5. با زدن دکمه های شماره صفحه ، بین صفحات رکوردهای جدول حرکت کنید .
  6. با زدن دکمه Edit جدول را برای ویرایش باز کرده ، مقادیر آن را تغییر داده و با زدن دکمه Update Item ، تغییرات را در جدول اعمال کنید .
  7. در پایان صفحه ، دکمه ای به نام Insert New وجود دارد . آن را برای ایجاد یک رکورد جدید در جدول کلیک نمایید . صفحه ای باز می شود که حاوی فیلدهای لازم برای ورود اطلاعات است . اطلاعات جدید مورد نظر خود را وارد نموده و با زدن دکمه Insert ، آنها را در جدول پایگاه داده ثبت کنید . و کارهای دیگر .
  8. سایت داده ای پویای شما آماده است . می توانید سایر عملیات مورد نظرتان را نیز به راحتی انجام دهید .

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



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


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

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

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