معرفی
در این مقاله، من یک آموزش با یک مثال ارائه خواهم کرد: روشی برای استفاده از کنترل DataList در ASP.NET برای نمایش اطلاعات/سوابق از پایگاه داده با استفاده از SQL DataSource.
بنابراین، ابتدا در مورد کنترل لیست داده های ASP.NET بحث خواهیم کرد.
کنترل لیست داده در ASP.NET چیست ؟
کنترل DataList، درست مانند کنترل Repeater، ممکن است یک کنترل مدل محور و سبک وزن باشد که به عنوان ابزاری برای اطلاعات مداوم عمل می کند. الگوها در طول این واحد منطقه کنترل، اطلاعاتی را که شامل خواهد شد، تعریف می کنند. همه کاره است به این معنا که شما به سادگی می توانید نمایش 1 یا تعداد زیادی رکورد را که واحد منطقه در مدیریت نمایش داده می شود سفارشی کنید. شما یک ویژگی در مدیریت DataList به نام RepeatDirection دارید که ممکن است برای سفارشی کردن طرح کنترل استفاده شود.
برای ایجاد یک پایگاه داده، می توانید این پرس و جوی SQL را طبق نیاز خود دنبال کنید. در این مقاله، من یک جدول موقت با چند رکورد تکراری برای نمایش کنترل لیست داده ها ایجاد می کنم.
ایجاد جدول
- CREATE TABLE #Employee(
- EmpID INT,
- EmpName NVARCHAR(50),
- EmpDept NVARCHAR(50),
- EmpCity NVARCHAR(50),
- Salary NVARCHAR(50),
- Designation NVARCHAR(50)
- )
داده ها را در جدول قرار دهید
- INSERT INTO #Employee (EmpID, EmpName, EmpDept, EmpCity, Salary, Designation)VALUES ('1','NIKUNJ SATASIYA','ASP.NET','SURAT','RS 18000','TL')
- INSERT INTO #Employee (EmpID, EmpName, EmpDept, EmpCity, Salary, Designation)VALUES ('1','HIREN DOBARIYA','ASP.NET','KHAMTA','RS 19000','TL')
- INSERT INTO #Employee (EmpID, EmpName, EmpDept, EmpCity, Salary, Designation)VALUES ('1','VIVEK GHADIYA','ANDROID','JAMNAGAR','RS 37000','TL')
- INSERT INTO #Employee (EmpID, EmpName, EmpDept, EmpCity, Salary, Designation)VALUES ('1','SNEHAL PATEL','IOS','SURAT','RS 45000','TL')
- INSERT INTO #Employee (EmpID, EmpName, EmpDept, EmpCity, Salary, Designation)VALUES ('1','PRATIK PANSURIYA','JAVA','RAJKOT','RS 33000','TL')
- INSERT INTO #Employee (EmpID, EmpName, EmpDept, EmpCity, Salary,Designation)VALUES ('1','SARAH DEMOLA','PHP','SURAT','RS 19000','TL')
دریافت داده از جدول
- SELECT * FROM #Employee
جدول رها کردن
- DROP TABLE #Employee
- جدول - این اغلب طرح پیش فرض است. طرح بندی جدول، DataList را به عنوان جدول زبان نشانه گذاری فرامتن مرتبط (HTML) ارائه می کند و در سلول جدول رندر می شود. تعداد سلول ها در هر ردیف با استفاده از ویژگی Repeat Columns تنظیم می شود.
- Flow – طرحبندی Flow DataList را به عنوان هیچ جزء زبان نشانهگذاری نمایش نمیدهد. همه چیزهای DataList مستقیماً رندر می شوند حتی برای اینکه چگونه کنترل Repeater چیزهای خود را تکرار می کند.
- OrderedList و UnorderedList – طرحبندی OrderedList و UnorderedList DataList را بهعنوان زبان نشانهگذاری فهرست مرتبشده و فهرست نامرتب ارائه میکند. اما در Net 4.0 و بالاتر از اینها دیگر پشتیبانی نمی شود.
- مدیریت DataList و الگوها - کنترل DataList از قالب های بعدی استفاده می کند.
- HeaderTemplate – محتوای این مثال تکراری نخواهد بود و می تواند در بالاترین موقعیت، یعنی قسمت head کنترل DataList قرار گیرد.
- ItemTemplate - محتویات این مثال برای هر رکورد موجود در DataSource آن تکرار می شود.
- AlternatingItemTemplate – AlternatingItemTemplate برای اضافه کردن چیزهای جایگزین استفاده می شود. این به همراه ItemTemplate، معمولا برای نمایش یک سبک منحصر به فرد برای چیزهای متناوب استفاده می شود.
- SeparatorTemplate - این مثال برای مشخص کردن یک استخراج کننده بین 2 مورد از کنترل DataList استفاده می شود.
- FooterTemplate – محتوای این مثال مستمر نخواهد بود و می تواند در پایین ترین موقعیت یعنی بخش پاورقی کنترل DataList قرار گیرد.
نشانه گذاری HTML
زبان نشانه گذاری زیر شامل کنترل ASP.NET DataList و کنترل ASP.NET SqlDataSource است.
کنترل SqlDataSource در مورد ویژگی های بعدی است.
- اتصال رشته
نام تنظیم رشته اتصال در فایل web.Config.
- <configuration>
- <connectionStrings>
- <add name="constr" connectionString="Data Source=.\SQL2005;Initial Catalog=northwind;integrated security=true"/>
- </connectionStrings>
- <system.web>
- <compilation debug="true" targetFramework="4.0"/>
- </system.web>
- lt;/configuration>
- selectCommand
عبارت Select برای واکشی رکوردها از جدول Employee پایگاه داده Northwind است.
شناسه کنترل SqlDataSource تقریباً به عنوان DataSourceID کنترل DataList است.
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="CS" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- <style type="text/css">
- body
- {
- font-family: Arial;
- font-size: 10pt;
- }
- .table
- {
- border: 1px solid #ccc;
- border-collapse: collapse;
- width: 200px;
- }
- .table th
- {
- background-color: #F7F7F7;
- color: #333;
- font-weight: bold;
- }
- .table th, .table td
- {
- padding: 5px;
- border: 1px solid #ccc;
- }
- </style>
- </head>
- <body>
- <form id="form1" runat="server">
- <asp:DataList ID="dlCustomers" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="3"
- CellSpacing="3" RepeatLayout="Table">
- <ItemTemplate>
- <table class="table">
- <tr>
- <th colspan="2">
- <b>
- <%# Eval("EmpName") %></b>
- </th>
- </tr>
- <tr>
- <td colspan="2">
- <%# Eval("EmpDept") %>,
- <%# Eval("EmpCity") %><br />
- </td>
- </tr>
- <tr>
- <td>
- Salary:
- </td>
- <td>
- <%# Eval("Salary")%>
- </td>
- </tr>
- <tr>
- <td>
- Designation:
- </td>
- <td>
- <%# Eval("Designation")%>
- </td>
- </tr>
- </table>
- </ItemTemplate>
- </asp:DataList>
- <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:constr %>"
- SelectCommand="SELECT TOP 3 * FROM YOUR_TABL_ENAME"></asp:SqlDataSource>
- </form>
- </body>
- </html>
صفحه خروجی