راهکارهای موثر در ASP.Net
راهکار 1 - 8 : طراحی یک سایت داده ای دینامیک در Asp.Net
مقدمه :
در این راهکار قصد داریم تا نحوه طراحی و ایجاد یک وب سایت داده ای دینامیک و پویا
در Asp.Net را ، با حداقل کدنویسی لازم آموزش دهیم . مهم ترین مزیت و امکان سایت های
داده ای پویا ، چهاچوب بندی مشخص اطلاعات است . یعنی چه ؟
هنگامی که چهارچوب بندی داده ( Data Scaffolding ) در یک وب سایت داده ای پویا Asp.Net
، فعال باشد ، Asp.Net مدل دیتای موجود در صفحه را آنالیز کرده و چهارچوب و نحوه نمایش
اطلاعات در صفحه را بر مبنای آن مدل تولید می کند . این تولید اتوماتیک محتوای صفحات
امکان نمایش ، درج ، حذف و ویرایش اطلاعات را برای هر جدول به راحتی فراهم می کند .
برای حمایت از این پروژه ، کتاب
راهکارهای موثر در ASP.Net را دانلود نمایید ...
دانلود فایل عملی پروژه و نسخه PDF راهکار
پیش نیازها :
برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد
:
- Microsoft Visual Studio .
- SQL Server Express که بر روی کامپیوتر شما نصب شده باشد . این برنامه معمولا با ویژوال
استودیو نصب می شود و پایگاه داده AdventureWorks که در فایل پروژه راهکار قرار داده
شده است .
مرحله اول : طراحی یک وب سایت داده ای پویا در Asp.Net :
شما می توانید برای ایجاد یک وب سایت داده ای پویا در Asp.Net از تمپلیت های آماده
ویژوال استودیو استفاده نمایید . برای این منظور به روش زیر عمل نمایید :
- برنامه ویژوال استودیو را باز کرده و از منوی File گزینه New Web Site را کلیک نمایید
. تا پنجره آن مطابق تصویر زیر باز شود :
- از بخش Installed Templates ، زبان مورد نظر خود برای کدنویسی سایت را انتخاب نمایید
، VB یا #C.
- در پنل میانی ، یکی از دو تمپیلت آماده زیر را برای طراحی سایت خود انتخاب نمایید :
- برای استفاده از مدل LINQ to SQL ، گزینه ASP.NET Dynamic Data LINQ to SQL Web Site
را انتخاب نمایید .
- برای استفاده از مدل ADO.NET Entity Framework ، گزینه ASP.NET Dynamic Data Entities
Web Site را انتخاب نمایید .
- در کارد Web Location ، گزینه File System راانتخاب نموده و در کادر متن مقابل آن نیز
، مکان ذخیره سازی فایل های وب سایت را تعیین نمایید . سپس با زدن دکمه Ok ، برنامه
ویژوال استودیو ، سایت جدید را برای شما ایجاد می کند .
راهنمایی : برای دریافت اطلاعات راجع به تفاوت مدل های فوق به بخش
ASP.NET Dynamic Data Layer Customization بروید .
مرحله دوم - اضافه نمودن اطلاعات به وب سایت :
مرحله بعدی در راهکار ، اضافه نمودن فایل پایگاه داده به سایت برای تامین اطلاعات است
. بعد از آن می توانید ، ار این پایگاه داده برای ایجاد Data Context ( کلاس هایی که
به جای موجودیت های پایگاه داده مثل جدول ها ، فیلدها ، و ... ایفای نقش می کنند )
استفاده نموده و سپس آنها را در مدل داده ای پویا به کار ببرید .
نحوه اضافه کردن پایگاه داده به پروژه وب سایت :
- در منوی Solution Explorer ، بر روی پوشه App_Data کلیک راست کرده و سپس گزینه Add
Exsiting Item را بزنید تا پنجره آن مطابق تصویر زیر باز شود :
- از طریق ویزارد پنجره باز شده ، به جستجوی پایگاه داده مورد نظر خود پرداخته ( در این
راهکار پایگاه AdventureWorks ) و آن را انتخاب نمایید .
برنامه ویژوال استودیو ، یک نسخه کپی از این پایگاه داده را به ساست شما اضافه می کند
.
مرحله بعدی ، طراحی مدل داده ای است . در این راهکار ما از هر دو روش LINQ و Entity
Framework برای ایجاد مدل داده ای استفاده خواهیم کرد .
طراحی مدل داده ای با استفاده از کلاس LINQ to SQL :
- در مرحله اول دقت نمایید ، آیا وب سایت شما دارای پوشه App_Code می باشد یا خیر . اگر
نیست ، بر روی نام وب سایت کلیک راست نموده و از منوی Add ASP.NET Folder ، پوشه App_Code
را به پروژه وب سایت اضافه نمایید .
- سپس بر روی پوشه App_Code کلیک راست کرده و گزینه Add New Item را بزنید ، تا پنجره
آن بصورت زیر باز شود . زبان مورد نظر برای برنامه نویس کلاس را از بین VB یا #C انتخاب
نموده ، سپس از بخش میانی گزینه LINQ to SQL Classes را انتخاب نمایید . در کادر Name
، یک نام دلخواه را برای کلاس خود مثل AdventureWorks.dbml تعیین نمایید . سپس دکمه
Add را بزنید . پنجره Object Relatival Designer باز می شود .
- در پنجره O/R Designer ، منوی Server Explorer را باز کرده و از بخش Data Connections
، گروه پایگاه داده AdventureWorks را باز نموده و از بخش Tables آن ، چندین جدول موجود
را درگ کرده و بر روی پنجره O/R Designer رها کنید . هر جدول موجود در پایگاه داده
بصورت یک موجودیت یا مدل در پنجره فوق نمایش داده می شود . فایل AdventureWorks.dbml
را ذخیره نمایید . کلاس های به وجود آمده ، به صورت زیر هستند :
- در منوی Solution Explorer ، یکی از فایل های AdventureWorks.designer.cs یا AdventureWorks.designer.vb
که بر حسب زبان انتخابی شما در زیر فایل AdventureWorks.dbml ایجاد شده را باز
کرده و به محتویات آن دقت نمایید . متوجه خواهید شد که کلاسی به نام AdventureWorksLTDataContext
درون آن ایجاد شده که به جای پایگاه داده ایفای نقش خواهد کرد . همچنین این فایل شامل
کلاس هایی به نام Product و Customer بود که جانشین جدول های پایگاه داده در کلاس ایجاد
شده هستند . همچنین تابع سازنده شی AdventureWorksDataContext ، اطلاعات رشته ارتباطی
(ConnectionString) را برای اتصال به پایگاه داده از فایل Web.config می خواند .
- دقت نمایید که المنت ConnectionStrings شامل رشته ارتباطی لازم برای اتصال به پایگاه
داده AdventureWorks است . فایل Web.Config را ببندید .
طراحی مدل داده ای با استفاده از Entity Framework :
- بر روی پوشه App_Code کلیک راست نموده و گزینه Add New Item را مجددا بزنید تا پنجره
آن باز شود .
- زبان مورد نظر برای برنامه نویسی کلاس را انتخاب کرده و از قسمت وسط پنجره گزینه ADO.Net
Entity Data Model کلیک نمایید . در قسمت Name یک نام دلخواه برای فایل کلاس خود مثل
AdventureWorks.edmx تعیین کنید . سپس بر روی گزینه Add کلیک نمایید . همانند تصویر
زیر :
- پنجره Entity Data Model Wizard ، مطابق تصویر زیر باز می شود :
- گزینه Generate from datebase را علامت زده و Next را کلیک نمایید .
- در قسمت ? Which data connection should your application use to connect to the database
، گزینه Adventure Works . mdf را از لیست انتخاب نمایید . همچنین مطمئن شوید که گزینه
Save entity connection settings in Web.config as علامت خورده باشد . شما می توانید
نام این ارتباط را بدون تغییر ، رها نمایید . گزینه Next را بزنید . همانند تصویر زیر
:
- ویزارد صفحه ای را به شما نشان می دهد که درون آن می توانید تعیین نمایید چی اشیایی
از پایگاه داده درون پروژه شما باشند . گره Tablesرا برای انتخاب و اضافه نمودن چندین
جدول از پایگاه داده به کلاس مورد نظر علامت بزنید . در نهایت نیز دکمه Finish را کلیک
نمایید . مطابق تصویر زیر :
- در منوی Solution Explorer ، فایل AdventureWorks.designer.cs یا AdventureWorks.designer.vb
را که بر حسب زبان تعیین شده شما ایجاد شده است را در زیر فایل .edmx باز کنید . اگر
دقت نمایید فایل حاوی کلاسی به نام AdventureWorks_DataEntities که جانشین پایگاه داده
در کلاس بوده و همچنین کلاس هایی نیز برای جانشینی جداول پایگاه داده را شامل می شود
.
- همچنین در فایل Web.config یک رشته ارتباطی برای اتصال به پایگاه داده AdventureWorks
در المنت ConnectionStrings ایجاد شده است . مرحله بعدی اتصال مدل دیتاهای ایجاد شده
( Data Context ) برای استفاده در سیستم داده ای پویا است .
نحوه ثبت کردن مدل دیتا در وب سایت :
- فایل Global.aspx را باز نموده و کدهای بخش DefaultModel.RegisterContext را پاک نمایید
. سپس به جای خطی که در تصویر زیر نمایش داده شده است ، کدهای جدول زیر را قرار دهید
.
- مقدار خاصیت 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 });
|
- کدهای فوق مدل دیتاهای ایجاد شده را برای استفاده در سایت داده ای پویا ، ثبت می کند
. اگر کد فوق را اضفه نکنید ، دیتا مدل شما کار نخواهد کرد ! .
- اگر هم از مدل Entity Framework استفاده کر ده اید ، کده های زیر را اضافه نمایید :
|
VB کد
|
Defaultmodel.RegisterContext(GetType(AdventureWorks_DataEntities),
New ContextConfiguration() With {.ScaffoldAllTables = True})
|
|
C# کد
|
DefaultModel.RegisterContext(typeof(AdventureWorks_DataEntities),
new ContextConfiguration() { ScaffoldAllTables = true });
|
- فایل Global.aspx را ذخیره کرده و ببندید .
مرحله آخر - امتحان کردن وب سایت داده ای پویا :
اکنون زمان آن است که سایت دینامیک طراحی شده خود را تست نماییم . برای این منظور مراحل
زیر را انجام دهید :
- فایل Defult.aspx را باز کرده و با زدن کنترل Ctrl+F5 آن را اجرا نمایید .
- صفحه لیستی را به شما نمایش می دهد که شامل تمامی جداولی است که در مراحل قبل بر شی
مدل داده ای اضافه کرده بودید .مثل تصویر زیر :
- برای نمونه بر روی یکی از جداول مثل جدول Product کلیک کنید . صفحه جدیدی باز خواهد
شد که اطلاعات جدول انتخاب شده را نمایش می دهد . اگر جدول دارای کلید فیلد خارجی باشد
، لینکی درون آن فراهم شده که به صفحه جدول مرتبط با آن متصل است . اگر هم جدول یک
جدول مادر است ، دارای لینکی خواهد بود که از طریق آن می توانید به جداول فرزند آن
دسترسی داشته باشید .
- دکمه Delete موجود بر روی صفحه را برای حذف یک رکورد از جدول بزنید .
- با زدن دکمه های شماره صفحه ، بین صفحات رکوردهای جدول حرکت کنید .
- با زدن دکمه Edit جدول را برای ویرایش باز کرده ، مقادیر آن را تغییر داده و با زدن
دکمه Update Item ، تغییرات را در جدول اعمال کنید .
- در پایان صفحه ، دکمه ای به نام Insert New وجود دارد . آن را برای ایجاد یک رکورد
جدید در جدول کلیک نمایید . صفحه ای باز می شود که حاوی فیلدهای لازم برای ورود اطلاعات
است . اطلاعات جدید مورد نظر خود را وارد نموده و با زدن دکمه Insert ، آنها را در
جدول پایگاه داده ثبت کنید . و کارهای دیگر .
- سایت داده ای پویای شما آماده است . می توانید سایر عملیات مورد نظرتان را نیز به راحتی
انجام دهید .
دانلود فایل عملی پروژه و نسخه PDF راهکار
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :