| |||
| | #1 (لینک مستقیم) | ||||||||
| کاربر فعال درسی و دانشجویی ![]() تاریخ عضویت: تير ۱۳۹۰ تاریخ عضویت : تير ۱۳۹۰
نوشته ها: 2,790
(View Stats)
تشکرها: 7,486
تشکر شده 4,135 بار در 1,555 پست
کتاب مورد علاقه : سه قطره خون حالت من : | بدون امتیاز : 0 امتیاز این موضوع (كنترل های منبع داده در ASP.NET 2.0) در حال حاضر شامل3 مقاله هست که تو این تایپیک قرار میدم ..... بخش های بعدی رو بعدا قرار خواهم داد ..... تعداد بخش های این مقاله نامشخص می باشد .... ![]() تا کامل نشدن تایپیک پست اضافه نباشه ....ممنون ![]() هدف مقالات : بررسی كنترل های منبع داده در ASP.NET 2.0 برای دیدن این نوشته ی مخفی کلیک کنید ویرایش توسط elnazpar : ۱۷ بهمن ۱۳۹۰ در ساعت ۱۲:۵۰ بعد از ظهر | ||||||||
| | |
| | #2 (لینک مستقیم) | ||||||||
| کاربر فعال درسی و دانشجویی ![]() تاریخ عضویت: تير ۱۳۹۰ تاریخ عضویت : تير ۱۳۹۰
نوشته ها: 2,790
(View Stats)
تشکرها: 7,486
تشکر شده 4,135 بار در 1,555 پست
کتاب مورد علاقه : سه قطره خون حالت من : | بدون امتیاز : 0 امتیاز كنترل های منبع داده در ASP.NET 2.0 ( بخش اول ) يكی از مهمترين اهداف پياده سازی صفحات وب ، ارائه اطلاعات مورد نياز كاربران با توجه به اهداف عملياتی يك وب سايت ( سرويس های شخصی و يا عمومی ) است . شايد به همين دليل باشد كه يكی از چالش های مهم در خصوص طراحی صفحات ، ايجاد صفحاتی است كه حاوی جديدترين و در عين حال صحيح ترين اطلاعات باشند . برای نمايش اطلاعات بر روی صفحات وب از چهار روش و يا منبع اساسی استفاده می گردد :
بهترين گزينه به منظور نگهداری اطلاعات ، جداسازی آنان از صفحاتی است كه قرار است آنان را نمايش دهند . در چنين مواردی صرفا" در صفحات وب ، مكان و فرمت نمايش اطلاعات مشخص می گردد و اطلاعات در مكانی متمايز از صفحات وب نگهداری می گردند . پس از درخواست يك صفحه ، اطلاعات از منابع داده بازيابی و در محل تعيين شده برروی صفحات وب قرار خواهند گرفت . در واقع ، صفحات بطور اتوماتيك و پويا در زمان درخواست ايجاد و شامل آخرين اطلاعاتی می باشند كه بصورت بلادرنگ و Live از منابع داده خارجی استخراج شده اند . در ادامه به بررسی چهار روش فوق خواهيم پرداخت تا از اين رهگذر جايگاه كنترل های منبع داده ارائه شده در ASP.NET 2.0 مشخص و با اين نوع كنترل ها از دو بعد مفاهيم و عمليات آشنا شويم . روش اول : درج محتويات ثابت به صورت دستی در بطن صفحات روش استاندارد به منظور ارائه اطلاعات درون صفحات وب ، درج مستقيم و دستی آنان درون صفحات وبی است كه فرمت و قالب نمايش آنان توسط تگ های html مشخص شده است . مثال : در مثال زير اطلاعات به صورت دستی در يك صفحه وب درج و از تگ های Html به منظور تعريف فرمت نمايش آنان استفاده شده است . <html> روش دوم : توليد محتويات با استفاده از اسكريپت های سمت سرويس گيرنده يا سرويس دهنده <body> <h3> درج محتويات ثابت به صورت دستی </h3> <p> برای ايجاد اين صفحه ، اطلاعات مورد نياز بطور مستقيم و به صورت دستی درون صفحه قرار داده شده اند . برای تعريف مجموعه قوانين لازم به منظور نحوه نمايش اطلاعات از تگ های Html استفاده شده است . در زمانی كه لازم است محتويات اين صفحه تغيير يابد ، می بايست صفحه را به صورت دستی ويرايش تا متناسب با آن اطلاعات جديد نمايش داده شوند . </p> </body> </html> در اين روش ، اطلاعاتی كه قرار است درون صفحات نمايش داده شوند ، توسط اسكريپت هائی كه قادر به توليد محتويات ثابت و يا متغير و پويا می باشند ، ايجاد می گردد. به منظور توليد و نمايش اطلاعات در زمان نمايش صفحات وب ، می توان با توجه به جايگاه روتين Page_Laod از آن استفاده و پس از توليد اطلاعات توسط اسكريپت ، آنان را با اطلاعات ثابت تركيب و در نهايت بر روی صفحات وب نمايش داد . در چنين مواردی می توان فرآيند توليد و در نهايت نمايش اطلاعات را به خواسته های كاربران وابسته نمود تا در ادامه متناسب با خواسته آنان روتين های مورد نظر فعال و از طريق اسكريپت های موجود در آنان ، اطلاعات مورد نياز توليد گردد. مثال : در مثال زير ، اسكريپت موجود در روتين Page_Load اجراء و پس از توليد اطلاعات مورد نياز ، با استفاده از تگ های Html نحوه نمايش آنان بر روی صفحه وب مشخص می گردد . در مثال فوق از تابع Date ويژوال بيسيك و كنترل های سرويس دهنده خروجی استفاده شده است . پس از توليد اطلاعات توسط اسكريپت ، به منظور نمايش آنان در صفحه از كنترل سرويس دهنده خروجی <asp:Label> استفاده شده است . به كنترل فوق يك مشخصه ( id ) نسبت داده شده است تا امكان دستيابی به آن از طريق اسكريپت های سمت سرويس دهنده موجود در روتين Page_Load فراهم گردد. اسكريپت فوق يك رشته از كاراكترهای متنی و Html را به خصلت Text كنترل label و با نام Paragraph نسبت می دهد. توجه داشته باشيد كه در اين مثال از هيچگونه تگ Html بطور مستقيم استفاده نشده است . <SCRIPT Runat="Server"> روش سوم : پردازش بر روی داده های ورودی Sub Page_Load Heading.Text = "<h3>توليد خروجی با استفاده از اسكريپت</h3>" Paragraph.Text = "<p>امروز, <span style=""color:red"">" & _ Format(DateString, "Long Date") & "</span>, " & _ "اين خروجی توسط اسكريپت توليد شده است " & _ "پس از توليد اطلاعات ، ماحصل آن در يك كنترل سرويس دهنده خروجی ، " & _ " نوشته می گردد . تاريخ نمايش داده شده ، همواره بهنگام بوده و " & _ " ضرورتی به ويرايش صفحه وجود ندارد " & _ " </p>" End Sub </SCRIPT> <html> <body> <form Runat="Server"> <asp:Label id="Heading" Runat="Server"/> <asp:Label id="Paragraph" Runat="Server"/> </form> </body> </html> در اين روش ، اطلاعات اوليه توسط كاربر ارائه و در ادامه از آنان به منظور توليد خروجی استفاده می گردد . در نهايت اطلاعات توليد شده با استفاده از كنترل ها ی سرويس دهنده خروجی بر روی صفحه وب نمايش داده می شود . مثال : در مثال زير ، يك كنترل TextBox در اختيار كاربر قرار داده شده است تا داده مورد نظر را وارد نمايد . پس از درج داده توسط كاربر و كليك بر روی دكمه "Submit" ، روتين مربوطه فعال و پس از انجام عمليات مورد نظر ، نتايج به همراه تگ های Html در يك كنترل خروجی label نوشته می گردند .در اين مثال از سه كنترل سرويس دهنده استفاده شده است :
<SCRIPT Runat="Server"> Sub Multiply_Seven(Src As Object, Args As EventArgs) If number1.Text <> "" Then Dim M As Integer M = number1.Text * 7 Show_Number.Text = "Your Number is <b>" & M & End If End Sub </SCRIPT> <html> <body> <form Runat="Server"> <h3>خروجی توليد شده توسط اسكريپت با استفاده از داده ورودی</h3> Enter your age: <asp:TextBox id="number1" Size="5" Runat="Server"/> <asp:Button Text="Submit" OnClick="Multiply_Seven" Runat="Server"/> <asp:Label id="Show_Number" Runat="Server"/> </form> </body> </html> روش چهارم : بازيابی و پردازش داده از طريق منابع داده خارجی در اكثر وب سايت ها اطلاعات به صورت مستقيم درون صفحات وب درج نمی گردد و يا ماحصل دريافت و پردازش بر روی داده كاربر نمی باشد . در اينگونه سايت ها ، از فايل های خارجی و يا بانك های اطلاعاتی به عنوان منبع اوليه تامين داده استفاده می گردد .پس از درخواست يك صفحه وب ، اطلاعات از منابع داده خارجی استخراج و قبل از اين كه برای مرورگر ارسال گردند در مكان تعيين شده در صفحات وب قرار می گيرند. اطلاعات نمايش داده شده بر روی صفحات وب همواره بهنگام می باشد چراكه محتويات اينگونه صفحات به صورت پويا و با بهره گيری از منابع اطلاعاتی خارجی ايجاد می گردد . مثال : در اين مثال از اطلاعات موجود در جدول Products مربوط به بانك اطلاعاتی TestDb.mdb به منظور نمايش اطلاعات بر روی صفحه وب استفاده شده است . تمامی پردازش های سمت سرويس دهنده از طريق دو كنترل سرويس دهنده موجود بر روی صفحه انجام می شود :
<html> مزايای جداسازی محتويات از صفحه ای كه آنان را نمايش می دهد : <body> <form Runat="Server"> <h3>خروجی توليد شده با استفاده از بانك اطلاعاتی</h3> <asp:AccessDataSource id="Products" Runat="Server" DataFile="c:\databases\TestDb.mdb" SelectCommand="SELECT ItemNumber, ItemName, ItemPrice, ItemQuantity FROM Products"/> <asp:GridView id="ProductsGrid" DataSourceID="Products" Runat="Server"/> </form> </body> </html>
صرفنظر از اندازه و پيچيدگی يك وب سايت ، يكی از وظايف اوليه پياده كننده گان برنامه های وب ، مديريت داده ها با استفاده از كنترل های سرويس دهنده و اسكريپت هائی است كه با تلفيق آنان می توان اطلاعات را به صورت پويا و متاثر از آخرين داده های موجود در بانك اطلاعاتی بر روی صفحات وب نمايش داد . در بخش دوم به بررسی امكانات ارائه شده در ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 به منظور دستيابی و نمايش داده خواهيم پرداخت تا مسير ما برای بررسی كنترل های منبع داده هموار گردد . منبع : http://www.srco.ir/Articles/DocView.asp?ID=431 تهيه شده در شرکت سخا روش - 1382 | ||||||||
| | |
| | #3 (لینک مستقیم) | ||||||||
| کاربر فعال درسی و دانشجویی ![]() تاریخ عضویت: تير ۱۳۹۰ تاریخ عضویت : تير ۱۳۹۰
نوشته ها: 2,790
(View Stats)
تشکرها: 7,486
تشکر شده 4,135 بار در 1,555 پست
کتاب مورد علاقه : سه قطره خون حالت من : | بدون امتیاز : 0 امتیاز كنترل های منبع داده در ASP.NET 2.0 ( بخش دوم ) همانگونه كه در بخش اول اشاره گرديد ، برای نمايش اطلاعات بر روی صفحات وب از چهار روش و يا منبع اساسی استفاده می گردد . بازيابی و نمايش ( و يا بازيابی ، پردازش و نمايش ) داده های موجود در منابع خارجی نظير بانك های اطلاعاتی يكی از متداولترين روش های نمايش اطلاعات بر روی صفحات وب است . در اين بخش به بررسی امكانات ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 به منظور دستيابی و نمايش داده خواهيم پرداخت تا مسير ما برای بررسی كنترل های منبع داده هموار گردد . امكانات مورد نياز به منظور دستيابی و نمايش داده دستيابی و نمايش داده دو گام اساسی به منظور استفاده از داده موجود در منابع داده نظير بانك های اطلاعاتی و يا فايل های Xml می باشد كه لازم است در ابتدا عليرغم همگرائی هدفمند آنان ، بين دو عمليات فوق تفاوت قائل گرديد. پياده كنندگان نرم افزار با توجه به نوع پلت فرم ، از مكانيزم های خاصی به منظور انجام هر يك از مراحل فوق استفاده می نمايند :
اجازه دهيد پاسخ به دو پرسش فوق را با بررسی سه محيط متفاوت ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 انجام دهيم . ASP كلاسيك پياده كنندگانی كه از فن آوری ASP در گذشته ای نه چندان دور به منظور پياده سازی برنامه های وب با محوريت دستيابی داده استفاده می كردند ، مجبور بودند برای دستيابی و نمايش داده ، اقدام به نوشتن كدهای مورد نياز نمايند . دستيابی داده گرچه به منظور دستيابی به داده در ASP كلاسيك از اشياء متفاوتی كه به جملگی آنان ADO ( برگرفته از ActiveX Data Object ) گفته می شود ، استفاده می گرديد ولی پياده كنندگان می بايست تمامی مراحل ايجاد ارتباط با بانك اطلاعاتی تا اجرای يك Query ، تشكيل يك Recordset و حركت در بين ركوردهای موجود در recordset را مستقيما" كد نمايند . دستيابی داده در ASP كلاسيك مستلزم انجام مراحل زير است :
در ASP كلاسيك، امكانات پيشرفته ای به منظور نمايش داده وجود نداشت و تمام ابزار پياده كنندگان ، يك جدول Html بود كه می توانسنتد به صورت پويا سطرها و ستون هائی را به آن اضافه نمايند ( جدول از نوع Html نه به عنوان يك كنترل سرويس دهنده ) . مثلا" برای نمايش نتايج برگردانده شده در اثر اجرای يك query ، پياده كنندگان مجبور بودند كه در ابتدا داده را بازيابی نموده و در ادامه با استفاده از تگ <Tabel> يك جدول را ايجاد و به موازات حركت در بين ركوردهای برگردانده شده و از طريق يك حلقه تكرار ، هر يك از ركوردها را به عنوان يك سطر جديد به جدول اضافه نمايند . برای افزودن يك سطر جديد ، در ابتدا با استفاده از يك تگ <tr> يك سطر جديد ايجاد و در ادامه برای هر يك از فيلدهای موجود در جدول بانك اطلاعاتی كه اطلاعات مرتبط با آنان بازيابی شده است يك ستون به كمك تگ <td> ايجاد و در نهايت پس از نمايش تمامی ركوردهای موجود درrecordset ، انتهای جدول با استفاده از تگ < table /> مشخص می گردد . نمايش داده در ASP كلاسيك مستلزم انجام مراحل زير است :
نحوه دستيابی <% Set adoCon = Server.CreateObject("ADODB.Connection") strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/../Test.mdb") Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM TestTable rs.Open strSQL, strCon نحوه نمايش <table width="548" height="20" > <tr> <td>عنوان ستون اول </td> <td>عنوان ستون دوم </td> </tr> <%While (NOT rs.Eof) %> <tr> <td><%=Rs("Field1")%></td> <td><%=Rs("Field2")%></td> </tr> <% rs.MoveNext WEND Set rs = Nothing Set adoCon = Nothing %> </table> در ASP كلاسيك ما در دو بخش دستيابی و نمايش دچار كمبود امكانات بالقوه می باشيم و پياده كنندگان مجبور به نوشتن كد لازم به منظور انجام هر يك از عمليات دستيابی و نمايش داده می باشند . دنيای پويای برنامه نويسی همواره اين وضعيت را داشته است و در ابتدا پايه يك چيز بر اساس امكانات موجود در زمان خود ايجاد می گردد و در ادامه با پيشرفت در فن آوری ها ، امكانات و پتانسيل های جديدی در اختيار پياده كنندگان قرار می گيرد با اين اميد كه بتوان يك نرم افزار را در زمانی معقول و هزينه ای منطقی پياده سازی نمود . برنامه های وب نيز از اين قاعده مستثنی نبوده و تمامی پياده كنندگانی كه از ASP كلاسيك به منظور پياده سازی برنامه های وب استفاده می كردند ، در انتظار يك تحول بزرگ بودند ، تحولی كه با ارائه ASP.NET 1.x شروع گرديد . ASP.NET 1.x ASP.NET 1.x ، نسبت به نسخه قبلی يعنی ASP كلاسيك با تغييرات گسترده ای ارائه گرديد . از جمله تغييرات مهم در ارتباط با دستيابی و نمايش داده ، ارائه مجموعه كنترل هائی بود كه پياده كنندگان می توانستند از آنان به منظور نمايش اطلاعات بازيابی شده از منابع داده استفاده نمايند . در اين نسخه ، برای دستيابی به داده از امكاناتی نظير بكارگيری كنترل های خاصی استفاده نمی گرديد و عملا" روش های دستيابی داده در ASP.NET 1.x شباهت زيادی به نمايش داده در برنامه های نوشته شده با استفاده از ASP كلاسيك داشت . همانگونه كه اشاره گرديد ، در ASP كلاسيك به منظور نمايش اطلاعات بازيابی شده از بانك های اطلاعاتی و ساير منابع داده ، پياده كنندگان مجبور بودند كد لازم برای بازيابی و حركت بين ركوردهای بازيابی شده را نوشته و پس از تعريف يك فرمت مناسب ، محتويات مورد نظر را كه شامل اطلاعات بازيابی شده و تگ های Html است ، بر اساس يك ساختار خاص تعريف شده توسط پياده كننده در صفحات وب نمايش دهند . بدين منظور كنترل های سرويس دهنده خاصی كه از آنان با نام كنترل های نمايش اطلاعات و يا كنترل های داده وب نام برده می شود، ايجاد گرديد . پياده كننده گان با استفاده از كنترل های فوق قادر به نمايش اطلاعات بازيابی شده از منابع داده در صفحات وب بودند . كنترل های DataGrid,DataList,Repeater و يا حتی DropDownList نمونه هائی از ساختارهای نمايش اطلاعات می باشند كه استفاده از آنان مستلزم نوشتن كد زيادی نمی باشد و با حداقل كد لازم می توان آنان را آماده نمايش اطلاعات مرتبط با يك منبع داده نمود . به عنوان نمونه ، پياده كنندگان با استفاده از يك كنترل سرويس دهنده نمايش اطلاعات نظير DataGrid لازم نبود كه خود را درگير تگ های Html به منظور ايجاد يك جدول نمايند . همانگونه كه اشاره گرديد ، يكی از مهمترين تغييرات ASP.NET 1.x نسبت به نسخه قبلی خود يعنی ASP ، ارائه كنترل های سرويس دهنده نمايش اطلاعات است كه اين امكان را در اختيار پياده كنندگان قرار می دهد تا با نوشتن حداقل كد لازم بتوانند داده مورد نظر را از هر نوع منبع داده بازيابی و با فرمت دلخواه و بهره گيری از پتانسيل های تگ های Html بر روی صفحات وب نمايش دهند . رويكرد فوق دو دستاورد مهم را برای پياده كنندگان به دنبال داشت :
دستيابی داده همانگونه كه اشاره گرديد ، برای دستيابی به داده از امكاناتی نظير بكارگيری كنترل های خاصی استفاده نمی گرديد و عملا" روش های دستيابی داده در ASP.NET 1.x شباهت زيادی به برنامه های نوشته شده با استفاده از ASP كلاسيك دارد . دستيابی داده در ASP.NET 1.x مستلزم انجام مراحل زير است :
برای نمايش اطلاعات بازيابی شده از منابع داده در ASP.NET 1.x ، كنترل های سرويس دهنده نمايش اطلاعات متعددی نظيرDataGrid,DataList,Repeater ارائه شده است . با استفاده از كنترل های فوق علاوه بر امكان مديريت آنان توسط برنامه در زمان پياده كنندگان نيز صرفه جوئی می گردد . نمايش داده در ASP.NET 1.x مستلزم انجام مراحل زير است :
بخش اسكريپت نحوه دستيابی <SCRIPT runat="server"> Dim DBConnection As OleDbConnection Dim DBCommand As OleDbCommand Dim DBReader As OleDbDataReader Dim SQLString As String Sub Page_Load مرحله اول : ايجاد و فعال نمودن يك ارتباط بانك اطلاعاتی DBConnection = New OleDbConnection( _"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\Test\Test.mdb") DBConnection.Open() مرحله دوم : ايجاد يك query SQLString = "SELECT * FROM Students"DBCommand = New OleDbCommand(SQLString, DBConnection) مرحله سوم : ايجاد يك recordset DBReader = DBCommand.ExecuteReader() مرحله چهارم : نسبت دادن recordset به كنترل MyDataGrid.DataSource = DBReader MyDataGrid.DataBind() مرحله پنجم : غيرفعال كردن ارتباط ايجاد شده با بانك اطلاعاتی و بستن recordsetDBReader.Close() DBConnection.Close() End Sub </SCRIPT> بخش Html نحوه نمايش <Form runat="Server" > <asp:DataGrid id="MyDataGrid" runat="server"/> </form> منبع : http://www.srco.ir/Articles/DocView.asp?ID=433 تهيه شده در شرکت سخا روش - 1382 | ||||||||
| | |
| | #4 (لینک مستقیم) | ||||||||
| کاربر فعال درسی و دانشجویی ![]() تاریخ عضویت: تير ۱۳۹۰ تاریخ عضویت : تير ۱۳۹۰
نوشته ها: 2,790
(View Stats)
تشکرها: 7,486
تشکر شده 4,135 بار در 1,555 پست
کتاب مورد علاقه : سه قطره خون حالت من : | بدون امتیاز : 0 امتیاز كنترل های منبع داده در ASP.NET 2.0 ( بخش سوم ) آنچه تاكنون گفته شده است :
با اين كه اكثر محتويات صفحات وب از تركيب اطلاعات ثابت با Html و يا پردازش بر روی داده های ورودی توسط كاربر تامين می گردد ولی در اكثر وب سايت های مدرن، اطلاعات از منابع ذخيره سازی داده نظير بانك های اطلاعاتی ، فايل های متنی ، XML و ساير منابع ذخيره سازی استخراج و نمايش داده می شود . بانك های اطلاعاتی ، معمولا" به عنوان اولين منبع ذخيره سازی داده برای ارائه اطلاعات در صفحات وب مطرح می باشند . در ASP.NET 2.0 ، امكانات متعددی به منظور تسهيل در امر دستيابی و نمايش داده بر روی صفحات وب ارائه شده است . معرفی كنترل های جديد منبع داده، نمونه ای در اين زمينه می باشد . در نسخه های قبل از ASP.NET 2.0 ، دستيابی به بانك های اطلاعاتی مستلزم انجام يك فرآيند خاص شامل بازنمودن بانك اطلاعاتی ، بازيابی ركوردها ، ايجاد يك ساختار تكرار به منظور حركت بين ركوردهای بازيابی شده ، انجام عمليات مورد نياز و در نهايت بستن ارتباط ايجاد شده با بانك اطلاعاتی است . در ASP.NET 2.0 تمامی عمليات فوق در كنترل هائی كه مختص اين كار طراحی شده اند ، كپسوله شده است . ماهيت و دستاورد كنترل های منبع داده در ASP.NET 2.0 ، با ارائه كنترل های خاصی كه از آنان با نام كنترل های منبع داده نام برده می شود ، پياده كنندگان می توانند به سرعت و با نوشتن حداقل كد به بانك اطلاعاتی مرتبط و پس از استخراج داده مورد نياز ، آنان را در يكی از كنترل های نمايش اطلاعات و يا برخی كنترل های سرويس دهنده ورودی ( نظير DropDownList ) نمايش دهند . كنترل های منبع داده ، يك روش تعريفی به منظور كار با داده را در مقابل نوشتن كد به منظور اتصال به بانك اطلاعاتی ، اجرای يك دستور ، بازيابی نتايج و ذخيره آنان در يك ساختمان داده مناسب نظير DataReader و يا DataSet فراهم می نمايند . عمليات فوق با استفاده از كنترل های منبع داده به صورت اتوماتيك و نوشتن حداقل كد لازم انجام خواهد شد . ( توجه داشته باشيد كه در برخی موارد لازم است ، همچنان كد لازم به منظور دستيابی داده نوشته گردد) . پس از پيكربندی مناسب يك كنترل منبع داده ، می توان آن را به هر نوع كنترل سرويس دهنده نمايش اطلاعات نسبت داد . زمانی كه يك صفحه ASP.NET حاوی يك كنترل منبع داده و نمايش اطلاعات است، كنترل سرويس دهنده نمايش اطلاعات به صورت اتوماتيك كنترل منبع داده مرتبط با خود را فراخوانده و پس از بازيابی داده آنان را نمايش می دهد . كنترل های منبع داده در ASP.NET 2.0 بدين منظور معرفی شده اند كه مزايای نمايش داده در صفحات وب را به دستيابی داده نيز تعميم داده تا پياده كنندگان بتوانند علاوه بر استفاده از پتانسيل های موجود به منظور نمايش داده از امكانات بالقوه ای برای دستيابی داده نيز استفاده نمايند . با استفاده از كنترل های منبع داده ، پياده كنندگان می توانند با نوشتن حداقل كد به منابع داده دستيابی داشته باشند . بدين ترتيب ، حجم كد مورد نياز به منظور دستيابی و نمايش داده در صفحات وب كاهش می يابد (در مقايسه با ASP.NET 1.x) . در ASP.NET 2.0 ، پنج كنترل منبع داده متفاوت ارائه شده است كه هر يك به منظور دستيابی به يك نوع خاص منبع داده طراحی شده اند . به عنوان نمونه ، كنترل منبع داده SqlDataSource به منظور دستيابی داده از يك بانك اطلاعاتی رابطه ای و كنترل منبع داده XmlDataSource به منظور دستيابی و كار با يك فايل Xml ارائه شده اند . صرفنظر از نوع منبع داده ، آنان با استفاده از يك روش مشابه به كنترل های سرويس دهنده نمايش اطلاعات و يا كنترل های داده وب مرتبط می گردند . بدين ترتيب ، دانش لازم به منظور كار با داده موجود در منابع داده متفاوت كاهش می يابد و پياده كنندگان برای اتصال به يك بانك اطلاعاتی SQL Server و يا دستيابی و فيلترينگ محتويات يك فايل Xml از روش هائی مشابه و مستقل از نوع منبع داده استفاده می نمايند . ![]() كنترل های منبع داده در ASP.NET 2.0 توجه داشته باشيد كه همچنان می توان به منظور دستيابی و تغيير داده در برنامه های وب نوشته شده با استفاده از ASP.NET 2.0 از روش های موجود در ASP.NET 1.x استفاده نمود . مثلا" می توان همچنان از كلاس های SqlConnection ، SqlCommand و SqlDataReader به منظور دستيابی داده استفاده نمود و با توجه به نتايج بدست آمده آنان را به يك كنترل سرويس دهنده نمايش اطلاعات با استفاده از خصلت DataSource نسبت داد . مهمترين مزيت كنترل های منبع داده ، ارائه يك روش تعريفی به منظور كار با داده است . نسبت دهی يك كنترل منبع داده به يك كنترل سرويس دهنده نمايش اطلاعات از آنجائی كه كنترل های منبع داده ، كنترل هائی تعريفی می باشند ( نظير ساير كنترل های سرويس دهنده ASP.NET ، همانند Label,TextBox,Button و...) ، می توان آنان را به سادگی به هر يك از صفحات وب مورد نياز اضافه نمود .پس از استقرار آنان در صفحات ، در ادامه می توان پيكربندی آنان را بگونه ای انجام داد تا امكان دستيابی آنان به منبع داده مورد نظر فراهم گردد . به منظور انجام اين كار می بايست به خصلت DataSourceID كنترل سرويس دهنده نمايش اطلاعات ، مقدار Id كنترل منبع داده نسبت داده شود . توجه داشته باشيد كه كنترل هائی كه از كلاس BaseDataBoundControl مشتق می شوند، دارای خصلت DataSourceID می باشند ( نظير كنترل های AdRotator, BulletedList, CheckBoxList, DropDownList, ListBox, RadioButtonList, DetailsView, FormView, GridView, Menu و TreeView ). پس از اين كه خصلت DataSourceID به يك كنترل منبع داده نسبت داده شد ، وظيفه شما به عنوان پياده كننده صفحات وب انجام شده است . در حين چرخه حيات صفحه ، كنترل سرويس دهنده نمايش اطلاعات و ساير كنترل های موجود ، داده مورد نياز خود را از منبع داده مرتبط شده با خود درخواست می نمايند. مثلا" زمانی كه داده در يك كنترل GridView ( گزينه جايگزين با DataGrid در ASP.NET 2.0 ) با استفاده از يك كنترل منبع داده نظير SqlDataSource نمايش داده می شود ، كنترل GridView متد GetView كنترل SqlDataSource را فراخوانده تا با توجه به مقادير نسبت داده شده به هر يك از خصلت های كنترل SqlDataSource ، به داده مورد نظر دستيابی و امكان بازيابی آنان فراهم گردد . داده بازيابی شده در ادامه در Gridview قرار گرفته و به منظور نمايش در مرورگر سرويس گيرندگان با آن به عنوان يك جدول Html برخورد خواهد شد . كنترل های منبع داده ، پياده كنندگان را قادر می سازند كه بدون نياز به كد به داده دستيابی داشته باشند ( همانند كنترل های سرويس دهنده نمايش اطلاعات كه اين امكان را در اختيار پياده كنندگان قرار می دهند تا بدون نياز به كد داده را نمايش دهند) . دستيابی داده برای دستيابی به يك منبع داده با توجه به نوع منبع داده ، می بايست از يكی از كنترل های منبع داده استفاده گردد . فرض كنيد قصد داريم به يك منبع داده از نوع بانك اطلاعاتی اكسس دستيابی داشته باشيم . بدين منظور از كنترل asp:AccessDataSource استفاده می گردد . كنترل فوق دارای خصلت های متعددی است . شكل عمومی اين كنترل به صورت زير است : فرمت تعريف يك AccessDataSource <asp:AccessDataSource id="string" Runat="Server" DataFile="path" DataSourceMode="DataSet|DataReader" SelectCommand="SQL SELECT statement" /> مثال : در نمونه كد زير به بانك اطلاعاتی TestDb.mdb متصل و از جدول products آن فيلدهای مورد نياز بازيابی شده است . دستيابی به يك بانك اطلاعاتی نمونه <asp:AccessDataSource id="ProductsSource" Runat="Server"DataFile="~/Db/TestDb.mdb" SelectCommand="SELECT ItemNumber, ItemName, ItemPrice, ItemQuantity FROM Products"/> به منظور نمايش مجموعه ركوردهای برگردانده شده با توجه به پيكربندی انجام شده كنترل منبع داده ، می توان از يك كنترل سرويس دهنده نمايش اطلاعات نظير Gridview استفاده نمود . كنترل asp:Gridview قدرتمندترين كنترل سرويس دهنده به منظور نمايش داده بازيابی شده از يك منبع داده است . كنترل فوق بگونه ای طراحی شده است تا بتواند به راحتی با جداول بانك اطلاعاتی كار كند . از كنترل فوق می توان برای نمايش ساير منابع داده رابطه ای كه اطلاعات را به صورت مجموعه ای از سطرها و ستون ها سازماندهی می نمايند نيز استفاده نمود. كنترل فوق ، دارای پتانسيل لازم به منظور همكاری عملياتی با كنترل های منبع داده است، بنابراين با حداقل كد ممكن می توان اطلاعات موجود در بانك اطلاعاتی را استخراج و در يك ساختار نمايشی نظير Gridview نمايش داد . Gridview ، اطلاعات استخراج شده از يك بانك اطلاعاتی را به صورت يك جدول حاوی سطرها وستون هائی نمايش می دهد .برای نسبت دادن كنترل به يك منبع داده از خصلت DataSourceID استفاده می گردد .بدين منظور، لازم است كه id كنترل منبع داده به خصلت فوق نسبت داده شود . GridView به صورت پيش فرض و اتوماتيك ، ستون هائی را متناسب با تعداد فيلدهای موجود در جدول بانك اطلاعاتی ايجاد می نمايد . تعداد سطرهای موجود در جدول نيز معادل تعداد ركوردهای بازيابی شده از بانك اطلاعاتی است . شكل عمومی اين كنترل به صورت زير است : فرمت تعريف يك Gridview <asp:GridView id="value" Runat="Server"AllowPaging="True|False" AllowSorting="True|False" AutoGenerateColumns="True|False" Caption="string" CaptionAlign="Left|NotSet|Right|Justify" CellPadding="n" CellSpacing="n" DataSourceID="id" EmptyDataText="string" GridLines="Both|Horizontal|Vertical|None" PageSize="n" ShowHeader="True|False" ShowFooter="True|False" property="value"... Style="CSS style settings..." HeaderStyle-property="value"... RowStyle-property="value"... AlternatingRowStyle-property="value"... FooterStyle-property="value"... /> نمايش اطلاعات بازيابیشده از يك منبع داده <asp:GridView id="ProductGrid" DataSourceID="Products" Runat="Server" />توجه داشته باشيد كه در اين مقاله قصد تشريح عملكرد كنترل asp:AccessDastSource و يا GridView را نداريم و هدف نشان دادن نحوه دستيابی و نمايش داده در ASP.NET 2.0 است . مثال : در نمونه برنامه زير به يانك اطلاعاتی TestDb.mdb با استفاده از يك كنترل منبع داده متصل و داده بازيابی شده با استفاده از يك كنترل Gridview نمايش داده شده است . دستيابی <Form runAt="Server"><asp:AccessDataSource id="Products" Runat="Server" DataFile="~/Db/TestDb.mdb" SelectCommand="SELECT * FROM Products WHERE ItemType='Graphics'"/> نمايش <asp:GridView id="ProductsGrid" DataSourceID="Products" Runat="Server"AutoGenerateColumns="False" ShowFooter="True" Caption="<b>Graphics Products</b>" CellPadding="3" BorderStyle="Ridge" BorderWidth="5" BackColor="#F0F0F0" ForeColor="#000000" HeaderStyle-BackColor="#707070" HeaderStyle-ForeColor="#FFFFFF" HeaderStyle-Font-Names="Verdana" HeaderStyle-Font-Size="10pt" RowStyle-Font-Names="Verdana" RowStyle-Font-Size="10pt" AlternatingRowStyle-BackColor="#A0A0A0" FooterStyle-BackColor="#707070" FooterStyle-ForeColor="#FFFFFF"> </asp:GridView> </Form> در بخش های بعدی به بررسی هر يك از كنترل های منبع داده خواهيم پرداخت . منبع : http://www.srco.ir/Articles/DocView.asp?ID=434 تهيه شده در شرکت سخا روش - 1382 | ||||||||
| | |
![]() |
| علاقه مندی ها (Bookmarks) |
| برچسب ها |
| 20, aspnet, داده, در, كنترل, منبع, های |
| ابزارهای موضوع | جستجو در موضوع |
| نحوه نمایش | |
| |
موضوعات مشابه | ||||
| موضوع | نویسنده موضوع | انجمن | پاسخ ها | آخرين نوشته |
| «كد منبع» سريال ميشود | SZ1368 | اخبار و معرفی فیلم | 1 | ۲۷ شهريور ۱۳۹۰ ۰۵:۳۲ بعد از ظهر |
| منبع تغذیه | م.ن | برق | 0 | ۲۹ تير ۱۳۹۰ ۰۱:۵۰ قبل از ظهر |
| تخم مرغ؛ غنی ترین منبع پروتئین | *rainbow* | تغذیه و خواص مواد غذایی | 0 | ۱۴ اسفند ۱۳۸۹ ۰۷:۵۱ بعد از ظهر |
| Wpf درخواست منبع | stahad111 | طرح سوالات و مشکلات درسی | 1 | ۲ شهريور ۱۳۸۹ ۰۲:۳۴ قبل از ظهر |
| كنترل رفتار سلول بنيادي با سطح نانو الگو داده شده | novin | علمی و پزشکی | 0 | ۱ تير ۱۳۸۹ ۰۱:۱۶ بعد از ظهر |