很久沒用vs了暈用慣Eval(ss)DataBinder好多都要不熟悉也忘了什麼時候網上轉載記下
DataBinderEval總結一DataBinderEval的基本格式
在綁定數據時經常會用到這個句程序<%# DataBinderEval(ContainerDataItemxxxx)%>或者<%# DataBinderEval(ContainerDataItemxxxx)%>
今天又學到一種而且微軟也說這種方法的效率要比以上兩種高
<%# ((DataRowView)ContainerDataItem)[xxxx]%>
很有用的這樣可以在前台頁面做好多事情了
還要記住要這樣用必須要在前台頁面導入名稱空間SystemData否則會生成錯誤信息
<%@ Import namespace=SystemData %>
這種用法其實和<%# ((DictionaryEntry)ContainerDataItem)Key%>是一個道理
Text=<%# DataBinderEval(ContainerDataItem 字段) %>
這樣的方法是最快的
Text=<%# GetPrice() %>
也可以綁定方法但方法要是public的
Text=<%# CarDetailsaspx?CarID= + DataBinderEval(ContainerDataItem CarID) %>
還可以連接多個字段
關鍵是Container這個東西它比較神秘它的名稱空間是SystemComponentModel對於它我還需要進一步理解
二DataBinderEval實現判斷選擇
<asp:TemplateColumn HeaderText=性別>
<ItemTemplate>
<%# DGFormatSex(ConvertToString(DataBinderEval(ContainerDataItemxb))) %>
</ItemTemplate>
</asp:TemplateColumn>
cs裡定義DGFormatSex方法
protected string DGFormatSex(string xb)
{
if(xb == )
return 男;
else
return 女;
}
DataBinderEval用法范例
//顯示二位小數
//<%# DataBinderEval(ContainerDataItem UnitPrice ${:F}) %>
//{:G}代表顯示True或False
//<ItemTemplate>
// <asp:Image Width= Height= Border= runat=server
// AlternateText=<%# DataBinderEval(ContainerDataItem Discontinued {:G}) %>
// ImageUrl=<%# DataBinderEval(ContainerDataItem Discontinued ~/images/{:G}gif) %> />
// </ItemTemplate>
//轉換類型
((string)DataBinderEval(Container DataItemP_SHIP_TIME_SBM))Substring()
{:d} 日期只顯示年月日
{:yyyymmdd} 按格式顯示年月日
{:c} 貨幣樣式
From:http://tw.wingwit.com/Article/program/net/201311/12108.html