corona
جمعه 09 بهمن 1388, 12:08 عصر
سلام به همگی. مطلب مفیدی پیدا کردم از تو نت. لااقل برای اودم که آموزنده بود . میزارم اینجا شاید برا بقبه هم مفید باشه .
فرض کنید یک دیتالیست تعریف کردیم که حالا از یک دیتاسورسی یک سری فیلد رو به عناصری که توی Template اش تعریف میکنیم بایند میکنیم . حالا مثلا دوست داریم رکوردهایی که مثلا کد پستیشون با یک عدد خاص شروع میشه رو از بقیه متمایز کنیم و یک Css متفاوت به اون اعمال کنیم. برای این کار می تونیم از دایرکتیو دیتابایندینگ استفاده کنیم و تابع مورد نظر خودمون رو درون این دایرکتیو صدا بزنیم .رنگش رو قرمز کردم
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Panel ID="AddressPanel" runat="server" CssClass='<%#GetCssForPostalCode(Container.DataItem)%>'>
<asp:Label ID="Address" runat="server" Text='<%# Eval("address") %>' /><br />
<asp:Label ID="City" runat="server" Text='<%# Eval("city") %>' /><br />
<asp:Label ID="PostalCode" runat="server" Text='<%# Eval("postalcode") %>' />
</asp:Panel>
</ItemTemplate>
</asp:DataList>
اینم قسمت CodeBehind و تایع مورد نظرمون.
protected string GetCssForPostalCode(object dataItem)
{
DataRowView row = dataItem as DataRowView;
if (row["postalcode"].ToString().StartsWith("902")) return "highlight-address";
return "normal-address";
}
امیدوارم مفید واقع بشه .
منبع:
http://devlicious.com/blogs/christopher_bennage/archive/2006/09/27/Data_2D00_Binding-to-Methods-in-ASP.NET.aspx
فرض کنید یک دیتالیست تعریف کردیم که حالا از یک دیتاسورسی یک سری فیلد رو به عناصری که توی Template اش تعریف میکنیم بایند میکنیم . حالا مثلا دوست داریم رکوردهایی که مثلا کد پستیشون با یک عدد خاص شروع میشه رو از بقیه متمایز کنیم و یک Css متفاوت به اون اعمال کنیم. برای این کار می تونیم از دایرکتیو دیتابایندینگ استفاده کنیم و تابع مورد نظر خودمون رو درون این دایرکتیو صدا بزنیم .رنگش رو قرمز کردم
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Panel ID="AddressPanel" runat="server" CssClass='<%#GetCssForPostalCode(Container.DataItem)%>'>
<asp:Label ID="Address" runat="server" Text='<%# Eval("address") %>' /><br />
<asp:Label ID="City" runat="server" Text='<%# Eval("city") %>' /><br />
<asp:Label ID="PostalCode" runat="server" Text='<%# Eval("postalcode") %>' />
</asp:Panel>
</ItemTemplate>
</asp:DataList>
اینم قسمت CodeBehind و تایع مورد نظرمون.
protected string GetCssForPostalCode(object dataItem)
{
DataRowView row = dataItem as DataRowView;
if (row["postalcode"].ToString().StartsWith("902")) return "highlight-address";
return "normal-address";
}
امیدوارم مفید واقع بشه .
منبع:
http://devlicious.com/blogs/christopher_bennage/archive/2006/09/27/Data_2D00_Binding-to-Methods-in-ASP.NET.aspx