أحدث البرامج التعليمية وتطوير الشبكة
×

ASP.NET البرنامج التعليمي

ASP.NET الصفحة الرئيسية ASP.NET مقدمة

WP البرنامج التعليمي

WebPages مقدمة WebPages موس الحلاقة WebPages نسق WebPages المجلدات WebPages عالمي WebPages أشكال WebPages الأجسام WebPages ملفات WebPages قواعد بيانات WebPages المساعدون WebPages WebGrid WebPages الرسوم البيانية WebPages البريد الإلكتروني WebPages PHP WebPages نشر WebPages أمثلة

WP المراجع

WebPages فصول WebPages أمن WebPages قاعدة البيانات WebPages الواجهه WebPages المساعدون

ASP.NET Razor

Razor مقدمة Razor بناء الجملة Razor C# المتغيرات Razor C# الحلقات Razor C# منطق Razor VB المتغيرات Razor VB الحلقات Razor VB منطق

ASP.NET MVC

MVC مقدمة MVC تطبيق MVC المجلدات MVC نسق MVC التحكم MVC المشاهدات MVC قاعدة البيانات MVC نموذج MVC أمن MVC HTML المساعدون MVC نشر MVC مرجع

WF دروس

WebForms مقدمة WebForms الصفحات WebForms ضوابط WebForms أحداث WebForms أشكال WebForms حالة العرض WebForms مربع الكتابة WebForms زر WebForms ربط البيانات WebForms قائمة مجموعة WebForms جدول هاش WebForms SortedList WebForms XML ملفات WebForms مكرر WebForms Datalist على WebForms دبكونيكشن WebForms Master الصفحات WebForms ملاحة WebForms أمثلة


 

ASP.NET نماذج ويب - التحكم مكرر


يستخدم السيطرة مكرر لعرض قائمة متكررة من العناصر التي لا بد أن عنصر التحكم.


ربط DataSet إلى التحكم مكرر

يستخدم السيطرة مكرر لعرض قائمة متكررة من العناصر التي لا بد أن عنصر التحكم. قد تكون ملزمة لسيطرة مكرر إلى جدول قاعدة بيانات، ملف XML، أو قائمة أخرى من العناصر. هنا سوف نظهر كيفية ربط ملف XML إلى عنصر تحكم مكرر.

سوف نستخدم الملف التالي XML في الأمثلة لدينا ("cdcatalog.xml") :

<?xml version="1.0" encoding="ISO-8859-1"?>

<catalog>
<cd>
  <title>Empire Burlesque</title>
  <artist>Bob Dylan</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>10.90</price>
  <year>1985</year>
</cd>
<cd>
  <title>Hide your heart</title>
  <artist>Bonnie Tyler</artist>
  <country>UK</country>
  <company>CBS Records</company>
  <price>9.90</price>
  <year>1988</year>
</cd>
<cd>
  <title>Greatest Hits</title>
  <artist>Dolly Parton</artist>
  <country>USA</country>
  <company>RCA</company>
  <price>9.90</price>
  <year>1982</year>
</cd>
<cd>
  <title>Still got the blues</title>
  <artist>Gary Moore</artist>
  <country>UK</country>
  <company>Virgin records</company>
  <price>10.20</price>
  <year>1990</year>
</cd>
<cd>
  <title>Eros</title>
  <artist>Eros Ramazzotti</artist>
  <country>EU</country>
  <company>BMG</company>
  <price>9.90</price>
  <year>1997</year>
</cd>
</catalog>

نلقي نظرة على ملف XML: cdcatalog.xml

أولا، استيراد "System.Data" مساحة الاسم. نحن بحاجة إلى هذا مساحة للعمل مع كائنات مجموعة البيانات. تشمل التوجيه التالية في الجزء العلوي من صفحة .aspx:

<%@ Import Namespace="System.Data" %>

بعد ذلك، إنشاء DataSet لملف XML وتحميل ملف XML إلى DataSet عندما يتم تحميل الصفحة الأولى:

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub

ثم نحن إنشاء عنصر تحكم مكرر في صفحة .aspx. محتويات <HeaderTemplate> يتم تقديم العنصر الأول ومرة واحدة فقط في الإخراج، ثم محتويات <ItemTemplate> تتكرر عنصر لكل "record" في DataSet، وأخيرا، فإن محتويات <FooterTemplate> عنصر هم المقدمة مرة واحدة في إخراج:

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
...
</HeaderTemplate>

<ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

ثم نضيف البرنامج النصي الذي يخلق مجموعة البيانات ويربط مجموعة البيانات mycdcatalog لسيطرة مكرر. نحن أيضا ملء تحكم مكرر مع أكواد HTML وربط عناصر البيانات إلى الخلايا في المقطع <ItemTemplate> مع <٪ # الحاويات. DataItem("fieldname") ٪> الأسلوب:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>
شاهد المثال »

باستخدام <AlternatingItemTemplate>

يمكنك إضافة <AlternatingItemTemplate> العنصر بعد <ItemTemplate> عنصر لوصف مظهر بالتناوب صفوف من الانتاج. في المثال التالي سيتم عرض كل صف آخر في الجدول باللون الرمادي الفاتح:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</AlternatingItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>
شاهد المثال »

باستخدام <SeparatorTemplate>

و <SeparatorTemplate> عنصر يمكن استخدامها لوصف فاصل بين كل سجل. إدراج المثال التالي خط أفقي بين كل صف الجدول:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<SeparatorTemplate>
<tr>
<td colspan="6"><hr /></td>
</tr>
</SeparatorTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>
شاهد المثال »