方法一:直接綁定查詢的數(shù)據(jù)
<asp:TemplateField HeaderText="姓名">
<ItemTemplate> <%# Eval("FirstName") %>
<%# Eval("LastName") %>
</ItemTemplate>
<asp:TemplateField>
或
<%# DataBinder.Eval(Container.DataItem,"數(shù)據(jù)庫(kù)字段")%>
<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
<%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %>
<%# DataBinder.Eval(Container, "DataItem.ColumnName", null) %>
其他用法
<%# ((DataRowView)Container.DataItem)["ColumnName"] %>
<%# ((DataRowView)Container.DataItem).Row["ColumnName"] %>
<%# ((DataRowView)Container.DataItem)["adtitle"] %>
<%# ((DataRowView)Container.DataItem)[n] %>
<%# ((DbDataRecord)Container.DataItem)[0] %>
<%# (((自定義類(lèi)型)Container.DataItem)).屬性.ToString() %>//如果屬性為字符串類(lèi)型就不用ToString()了
說(shuō)明:FirstName ,LastName皆為數(shù)據(jù)庫(kù)字段。這里直接綁定沒(méi)有對(duì)結(jié)果做任何格式處理和運(yùn)算。同時(shí)你也可以看到,可以直接在模板里布置多個(gè)綁定。
方法二:對(duì)運(yùn)算結(jié)果進(jìn)行運(yùn)算
<asp:TemplateField HeaderText="打折">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Discount").ToString() == "0" ? "不打" : DataBinder.Eval(Container.DataItem, "Discount").ToString()%>折
</ItemTemplate>
</asp:TemplateField>
說(shuō)明:運(yùn)用三元運(yùn)算符,對(duì)結(jié)果進(jìn)行判斷。這種方法適合那些非True即False的情況。
方法三:對(duì)結(jié)果進(jìn)行格式化處理
<%# DataBinder.Eval(Container.DataItem, "Discount_beginDate", "{0:yyyy-m-d}").ToString() == "1900-0-1" ? "無(wú)" : DataBinder.Eval(Container.DataItem, "Discount_beginDate", "{0:yyyy-m-d}").ToString()%>
說(shuō)明:可以看到這里查詢?nèi)掌谶M(jìn)行了格式化,然后進(jìn)行了運(yùn)算。
方法四:綁定后臺(tái)方法
<asp:TemplateField HeaderText="流行程度">
<ItemTemplate>
<%# GetStatusPicture(Container.DataItem) %>
</ItemTemplate>
</asp:TemplateField>
后臺(tái)方法:
protected string GetStatusPicture(object dataItem)
{
int units = Int32.Parse(DataBinder.Eval(dataItem, "PopularLevel").ToString());
string strNum = "";
switch (units)
{
case 0:
strNum = "0 顆星";
break;
case 1:
strNum = "1 顆星";
break;
case 2:
strNum = "2 顆星";
break;
case 3:
strNum = "3 顆星";
break;
case 4:
strNum = "4 顆星";
break;
case 5:
strNum = "5 顆星";
break;
}
return strNum;
}
說(shuō)明:后臺(tái)方法必須為Public或Proteced,接受的參數(shù)最好為Object類(lèi)型,然后再方法內(nèi)進(jìn)行轉(zhuǎn)換。