اتصال به کنترل های داده در ASP.NET

اتصال به کنترل داده

همانطور که در قسمت قبل توضيح داديم ، برای اتصال به يک منبع اطلاعاتی ( مثلا يک پايگاه داده SQL Server و يا Access ) ، بايستی ابتدا يک کنترل داده مرتبط به آن نوع منبع اطلاعاتی مثل کنترل SqlDataSource و يا AccessDataSource را به منبع اطلاعاتی متصل کرده و سپس يک کنترل وب که قادر به نمايش اطلاعات به دست آمده است مثل يک کنترل FormView یا GridView را به کنترل داده متصل کنيم .
در این حالت کنترل داده در مواقع درخواست شده به پايگاه داده متصل شده و اطلاعات لازم را از آن دريافت می کند . سپس کنترل وب متصل به کنترل داده ، اطلاعات دریافتی را قالب بندی کرده و نمایش می دهد . بنابراین کنترل های داده خود قادر به نمايش اطلاعات به دست آمده نيستند و فقط در نقش تامين کننده اطلاعات درخواستی به کار می روند . با استفاده از ترکيب يک کنترل داده و يک کنترل وب می توانيد به راحتی و با حجم بسیار پايين کدنويسی ، اطلاعات موجود در هر منبع داده ای را خوانده ، حذف ، ويرایش ، صفحه بندی و یا مرتب سازی کنید .


اتصال يک کنترل وب به يک کنترل داده :

به طور کلی 2 روش برای اتصال يک کنترل وب به يک کنترل داده وجود دارند که عبارتند از :

  1. اتصال در محيط کدنويسی با استفاده از خاصيت DataSourceID
  2. اتصال با استفاده از محيط طراحی ( Design ) در نرم افزار Visual Studio 2005

در ادامه به معرفی و توضيح دو روش فوق می پردازيم :

1 ) اتصال در محيط کدنويسی با استفاده از خاصيت DataSourceID :

برای اينکه يک کنتزل وب را به يک کنترل داده متصل کنيم ، بايستی خاصيت DataSourceID کنترل وب را برابر با مقدار ID کنترل داده قرار دهیم . برای مثال اگر يک کنترل داده SqlDataSource داشته باشيم که ID آن برابر با SqlControl1 بوده و قبلا به يک پايگاه داده SQL Server متصل شده است و بخواهيم يک کنترل وب از نوع GridView را به آن مرتبط سازيم ، بايد مقدار خاصيت DataSourceID کنترل GridView را برابر با مقدار ID کنترل SqlDataSource مورد نظر یعنی SqlControl1 قرار دهيم .

مثال 1 : در مثال زير يک کنترل GridView را به يک کنترل SqlDataSource که ID آن برابر با SqlControl1 است ، متصل ساخته ايم :

Example
<form id="form1" runat="server">

  <asp:GridView    ID="GridView1"    runat="server"   DataSourceID="SqlControl1">
  </asp:GridView>

  <asp:SqlDataSource  ID="SqlControl1"  runat="server"
    ConnectionString="<%$ ConnectionStrings:Univer_Connection %>"
    SelectCommand="Select * from Students">
  </asp:SqlDataSource>


< form >
کد

مثال 1 : در مثال زير يک کنترل FormView را به يک کنترل AccessDataSource که ID آن برابر با Access_EX است ، متصل ساخته ايم :

Example
<form id="form1" runat="server">

  <asp:FormView    ID="FormView1"    runat="server"   DataSourceID="Access_EX">
  </asp:FormView>


  <asp:AccessDataSource  ID="Access_EX"  runat="server"   DataFile="~/App_Data/Payment.mdb"
  </asp:AccessDataSource>


< form >
کد

2 ) اتصال يک کنترل وب به يک کنترل داده در محيط طراحی ( Design ) در نرم افزار Visual Studio 2005:

ابتدا فايل صفحه را در برنامه باز کرده و موارد زير را به ترتيب اجرا کنيد .
* نکته : برای آموزش اين بخش ، از مثالی استفاده می کنيم که در آن می خواهيم يک کنترل وب GridView را به يک کنترل داده SqlDataSource متصل کنيم . در اين مثال فرض می کنيم ، که کنترل SqlDataSource قبلا بر روی صفحه وجود داشته و به يک پايگاه داده SQL Server متصل شده است . برای دريافت اطلاعات راجع به نحوه اتصال کنترل SqlDataSource به پايگاها داده به بخش آموزش اتصال يک کنترل SqlDataSource به پايگاه داده برويد .

  1. برنامه را در حالت Design قرار داده و سپس يک کنترل GridView را از منوی Toolbox بر روی صفحه اضافه کنيد .
  2. بر روی کنترل GridView کليک سمت راست کرده و از منوی ظاهر شده ، گزينه Show Smart Tag را انتخاب کنيد .
  3. منوی GridView Tasks ظاهر شده و در قسمت Choose Data Source ،مقدار ID کنترل SqlDataSource مورد نظر را از کادر کشویی آن انتخاب کرده و به محيط طراحی باز گرديد .
  4. هم اکنون دو کنترل GridView و SqlDataSource به هم متصل بوده و کنترل GridView می تواند از اطلاعات فراهم شده توسط کنترل SqlDataSource استفاده کرده و به پايگاه داده آن متصل شود .

نکته 2 : هر دو روش ذکر شده ، خروجی يکسانی را در قسمت کدنويسی ايجاد می کنند . در واقع در روش دوم برنامه به طور اتوماتيک کد لازم را برای ارتباط دو کنترل ايجاد می کند و تنها تفاوت آنها اين است که در روش دوم از محيط تصويری ( Visual ) اسفاده می کنيم . اگر پس از انجام روش دوم به قسمت کدنويسی برويد ، خواهيد ديد که خاصيت DataSourceID کنترل GridView برابر ID کنترل SqlDataSource شده است .

نکته 3 : در آینده می توانيد با تغيير مقدار خاصيت DataSourceID کنترل GridView آن کنترل را به هر کنترل وب دلخواه ديگر متصل کنيد .



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


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

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

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