مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش اتصال داده در ASP.NET به همراه یک مثال کاربردی


اتصال داده در ASP.NET

هر کنترل فرم وب در ASP.NET ، متد DataBind را از کلاس Control به ارث می برد ، که این کار موجب می شود توانایی های ذاتی جهت اتصال داده ، حداقل به یکی از خصیصه های کنترل فرم وب اختصاص یابد. به این کار اتصال داده ساده (simple data binding) یا اتصال داده inline گفته می شود.

اتصال داده ساده شامل ضمیمه کردن هر مجموعه ای (مجموعه آیتم ها) می باشد که رابط IEnumerable را پیاده سازی می کند ، یا کلاس های DataSet و DataTable را به خصیصه DataSource از کنترل اتصال می دهد.

از سوی دیگر ، برخی از کنترل ها می توانند رکوردها ، لیست ها یا ستون های داده را به داخل ساختار یک کنترل DataSource اتصال دهند. این کنترل ها از کلاس BaseDataBoundControl  مشتق می شوند. این کار اعلان اتصال داده (declarative data binding) نامیده می شود.

کنترل های data source کمک می کنند که کنترل های data-bound عملکردهایی مانند مرتب سازی (sorting) ، صفحه بندی (paging) و ویرایش کردن مجموعه های داده را پیاده سازی نمایند.

BaseDataBoundControl یک کلاس انتزاعی می باشد که توسط دو کلاس انتزاعی زیر به ارث برده می شود:

  • DataBoundControl
  • HierarchicalDataBoundControl

کلاس DataBoundControl  نیز توسط دو کلاس انتزاعی زیر به ارث برده می شود:

  • ListControl
  • CompositeDataBoundControl

توانایی کنترل ها برای اتصال داده ساده از کلاس انتزاعی ListControl به ارث برده شده است و این کنترل ها عبارتند از:

  • BulletedList
  • CheckBoxList
  • DropDownList
  • ListBox
  • RadioButtonList

توانایی اعلان اتصال داده کنترل ها (اتصال داده پیچیده تر) ، از کلاس انتزاعی CompositeDataBoundControl به راث برده می شود. این کنترل ها عبارتند از:

  • DetailsView
  • FormView
  • GridView
  • RecordList

اتصال داده ساده

اتصال داده ساده شامل لیست های انتخاب read-only (فقط خواندنی) می باشد. این کنترل ها می توانند به هر لیست آرایه ای یا فیلدهای یک پایگاه داده اتصال یابند. لیست های انتخابی (selection list) دو مقدار را از پایگاه داده یا data source می گیرند. یک مقدار توسط لیست نمایش داده می شود و دیگری به عنوان مقدار مربوط به صفحه نمایش در نظر گرفته می شود.

بیایید برای درک مفهوم فوق ، نگاهی به یک مثال کوچک بیاندازیم. یک وب سایت با یک لیست bullet دار و یک کنترل SqlDataSource در آن ایجاد می کنیم. کنترل data source را برای بازیابی کردن دو مقدار فوق از پایگاه داده خود پیکربندی می کنیم (ما از جدول DotNetReferences همانند فصل های قبلی استفاده می کنیم.)

یک data source از کنترل لیست bullet دار که شامل مراحل ذیل است ، انتخاب می کنیم:

  • انتخاب کردن کنترل data source
  • انتخاب کردن فیلدی برای نمایش دادن ، که data field نامیده می شود.
  • انتخاب کردن یک فیلد برای مقدار

هنگامی که برنامه کاربردی اجرا می شود ، بررسی کنید که کل ستون عنوان (title) به لیست bullet دار محدود شده و نمایش داده شود.

اعلان اتصال داده

ما قبلاً از اعلان اتصال داده در آموزش های قبلی با استفاده از کنترل GridView استفاده نموده ایم. سایر کنترل های data bound قادر به نمایش دادن و دستکاری داده ها به شیوه جدولی هستند که عبارتند از کنترل های DetailsView ، FormView و RecordList .

در آموزش بعدی ، ما نگاهی به تکنولوژی مدیریت کردن پایگاه داده مانند ADO.NET خواهیم داشت.

با این حال ، اتصال داده شامل اشیاء زیر می باشد:

  • یک شیء dataset که داده های بازیابی شده از پایگاه داده ها را ذخیره می کند.
  • Data provider که داده ها را با استفاده از یک فرمان (command) اتصال ، بازیابی می کند.
  • Data adaptor که دستور select ذخیره شده در شیء command را صادر می کند. هم چنین قادر است که داده ها در پایگاه داده را با صدور فرمان Insert ، Delete و Update به روز رسانی نماید.

ارتباط بین اشیاء اتصال داده به صورت زیر می باشد:

مثال

مراحل زیر را دنبال نمایید:

مرحله (1) : یک وب سایت ایجاد کنید. یک کلاس با نام booklist را از طریق راست کلیک کردن در solution name در Solution Explorer اضافه کنید و آیتم ‘Class’ از کادر محاوره ای ‘Add Item’ را انتخاب نمایید. نام آن را booklist.cs قرار دهید.

using System;
using System.Data;
using System.Configuration;
using System.Linq;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

namespace databinding
{
   public class booklist
   {
      protected String bookname;
      protected String authorname;
      public booklist(String bname, String aname)
      {
         this.bookname = bname;
         this.authorname = aname;

      }
      
      public String Book
      {
         get
         {
            return this.bookname;
         }
         set
         {
            this.bookname = value;
         }
      }
      
      public String Author
      {
         get
         {
            return this.authorname;
         }
         set
         {
            this.authorname = value;
         }
      }
   }
}

مرحله (2) : چهار کنترل list و یک کنترل list box ، یک لیست radio button ، یک لیست check box ، و یک لیست drop down و چهار برچسب همراه با این کنترل های لیست را به صفحه اضافه نمایید. Design view صفحه باید شبیه تصویر زیر باشد:

فایل source باید مطابق کدهای زیر باشد:

<form id="form1" runat="server">
   <div>
   
      <table style="width: 559px">
         <tr>
            <td style="width: 228px; height: 157px;">
               <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" 
                  OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
               </asp:ListBox>
            </td>

            <td style="height: 157px">
               <asp:DropDownList ID="DropDownList1" runat="server" 
                  AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
               </asp:DropDownList>
            </td>             
         </tr>

         <tr>
            <td style="width: 228px; height: 40px;">
               <asp:Label ID="lbllistbox" runat="server"></asp:Label>
            </td>

            <td style="height: 40px">
               <asp:Label ID="lbldrpdown" runat="server">
               </asp:Label>
            </td>
         </tr>

         <tr>
            <td style="width: 228px; height: 21px">
            </td>

            <td style="height: 21px">
            </td>              
         </tr>

         <tr>
            <td style="width: 228px; height: 21px">
               <asp:RadioButtonList ID="RadioButtonList1" runat="server"
                  AutoPostBack="True"  OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
               </asp:RadioButtonList>
            </td>

            <td style="height: 21px">
               <asp:CheckBoxList ID="CheckBoxList1" runat="server" 
                  AutoPostBack="True" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
               </asp:CheckBoxList>
            </td>                
         </tr>

         <tr>
            <td style="width: 228px; height: 21px">
               <asp:Label ID="lblrdlist" runat="server">
               </asp:Label>
            </td>

            <td style="height: 21px">
               <asp:Label ID="lblchklist" runat="server">
               </asp:Label>
            </td>           
         </tr>
      </table>      
      
   </div>
</form>

مرحله (3) : در نهایت ، کدهای زیر را در پشت روتین های برنامه کاربردی بنویسید:

public partial class _Default : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {
      IList bklist = createbooklist();
      
      if (!this.IsPostBack)
      {
         this.ListBox1.DataSource = bklist;
         this.ListBox1.DataTextField = "Book";
         this.ListBox1.DataValueField = "Author";
         
         this.DropDownList1.DataSource = bklist;
         this.DropDownList1.DataTextField = "Book";
         this.DropDownList1.DataValueField = "Author";
         
         this.RadioButtonList1.DataSource = bklist;
         this.RadioButtonList1.DataTextField = "Book";
         this.RadioButtonList1.DataValueField = "Author";
         
         this.CheckBoxList1.DataSource = bklist;
         this.CheckBoxList1.DataTextField = "Book";
         this.CheckBoxList1.DataValueField = "Author";
         
         this.DataBind();
      }
   }
   
   protected IList createbooklist()
   {
      ArrayList allbooks = new ArrayList();
      booklist bl;
      
      bl = new booklist("UNIX CONCEPTS", "SUMITABHA DAS");
      allbooks.Add(bl);
      
      bl = new booklist("PROGRAMMING IN C", "RICHI KERNIGHAN");
      allbooks.Add(bl);
      
      bl = new booklist("DATA STRUCTURE", "TANENBAUM");
      allbooks.Add(bl);
      
      bl = new booklist("NETWORKING CONCEPTS", "FOROUZAN");
      allbooks.Add(bl);
      
      bl = new booklist("PROGRAMMING IN C++", "B. STROUSTROUP");
      allbooks.Add(bl);
      
      bl = new booklist("ADVANCED JAVA", "SUMITABHA DAS");
      allbooks.Add(bl);
      
      return allbooks;
   }
   
   protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
   {
      this.lbllistbox.Text = this.ListBox1.SelectedValue;
   }
   
   protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
   {
      this.lbldrpdown.Text = this.DropDownList1.SelectedValue;
   }
   
   protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
   {
      this.lblrdlist.Text = this.RadioButtonList1.SelectedValue;
   }
   
   protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
   {
      this.lblchklist.Text = this.CheckBoxList1.SelectedValue;
   }
}

موارد زیر را دنبال کنید:

  • کلاس booklist دو خصیصه دارد: bookname و authorname .
  • متد createbooklist ، یک متد تعریف شده کاربر دارد که یک آرایه از اشیاء booklist به نام allbooks ایجاد می کند.
  • هندلر رویداد Page_Load اطمینان می دهد که لیستی از کتابها ایجاد شده است. این لیست از نوع IList می باشد ، که رابط IEnumerale را پیاده سازی می کند و می تواند به کنترل های لیست محدود باشد. هندلر رویداد page load شیء IList به نام ‘bklist’ را به کنترل های لیست اتصال می دهد. خصیصه bookname نمایش داده شده و خصیصه authorname به عنوان مقدار ارائه می شود.
  • هنگامی که صفحه اجرا می شود ، اگر کاربر یک کتاب را انتخاب نماید ، نام کتاب انتخاب شده و توسط  کنترل های لیست نمایش داده می شود ، در حالی که برچسب های مربوطه ، نام نویسنده را نمایش می دهند ، که مقدر مربوط به این برچسب برای ایندکس انتخاب شده کنترل لیست می باشد.

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید