شروین این کنترلهایی که بالا نوشتی دارای یک سری تمپلیت هستند که قالب و الگوی نمایشی داده ها رو مشخص می کنند
که هم می تونی بوسیله کد نویسی در هنگام اجرا بهش قالب بدی و هم اینکه قالبش رو از قبل مشخص کنی
ساده ترین حالت اینه که قبل از اجرا قالبشون رو مشخص کنی
به عنوان مثال دیتالیست دارای تگ <Itemtemplate> که می تونی نحوه چگونگی نمایش اطلاعات رو داخل اون مایش بدی
مثلا برای نمایش داده های به نام Name از کد زیر استفاده کنی
کد:
<asp:datalist runat=server>
<itemtemplate>
]<%#Container.DataItem("ّFieldname")%>
</itemtemplate>
</asp:dataList>
حال اگه بخوای داده ها رو به شکل خاصی نمایش بدی می تونی داخل تگ itemtemplate از کدهای html مثل تیبل و دیو استفاده کنی. البته یادت باشه برای نمایش هر فیلد در هر محلی این کد رو باید بذاری
کد:
<%#Container.DataItem("ّFieldname")%>
کد:
<ItemTemplate>
<table border=1>
<tr><td><b>ID : </b></td>
<td>'<%# DataBinder.Eval(Container.DataItem, "title_id") %>'
</td></tr>
<tr><td><b>Title : </b></td>
<td>'<%# DataBinder.Eval(Container.DataItem, "title") %>'
</td></tr>
<tr><td><b>Price : </b></td>
<td>'<%# DataBinder.Eval(Container.DataItem, "price") %>'
</td></tr>
</table>
همچنین برای ایجاد لینک و یا لینک باتن و یا هر کنترل دیگری در داخل این تگ، باید آنها را در محلی که می خواهیم بنویسیم و مقادیر انها را برابر همان کد بالا قرار دهیم
مثل:
کد:
<ItemTemplate>
<li>
<asp:LinkButton
Text='<%#Container.DataItem("ّFieldname")%>
'
Runat="Server" />
</ItemTemplate>
البته باید یکم درباره لینک باتن مطالعه کنی و اینکه یک لینک باتن چه جوری رویداد انجام شده روی دیتالیست رو مشخص می کنه
همچنین می توانی قالبهایی که یه آیتم دیتالیست انتخاب شده و یا در حال ویرایش می باشد رو به همینصورت مشخص کنی
مثلا
قالب ویرایش
کد:
<EditItemTemplate>
<table border=1>
<tr><td><b>ID : </b></td>
<td>'<%# DataBinder.Eval(Container.DataItem, "title_id") %>'
</td></tr>
<tr><td><b>Title : </b></td>
<td><asp:TextBox
Text='<%# DataBinder.Eval(Container.DataItem, "title") %>'
runat=server ID="title"/>
</td></tr>
<tr><td><b>Price : </b></td>
<td><asp:TextBox
Text='<%# DataBinder.Eval(Container.DataItem, "price") %>'
runat=server ID="price"/></td></tr>
</table>
<asp:LinkButton Text="Cancel" CommandName="Cancel"
Runat="server" ID="cancel" />
<asp:LinkButton Text="Update" CommandName="Update"
Runat="server" ID="update" />
</EditItemTemplate>
و امکانات بسیار دیگری
اینجا رو هم یه نگاه بنداز
DataList Class
DataGrid Class
Repeater Class
دیتاگرید و ریپیتر هم مانند دیتالیست هستند