700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > DataBinder.Eval()方法绑定数据

DataBinder.Eval()方法绑定数据

时间:2019-10-04 21:56:49

相关推荐

DataBinder.Eval()方法绑定数据

参数:数据项的命名容器; 数据字段名; 格式字符串; <%@DataBinder.Eval(Container.DataItem,"max_lvl","{0:c}") %> 备注:c 代表以人民币符号显示; p 代表以百分号符号显示; 示例: 使用DataBinder.Eval()方法进行数据绑定 ---导入命名空间 <%@ Import Namespace="System.Data" %>

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

<html>

<script language="C#" runat="server">

void Page_Load(Object semder, EventArgs e)

{

// 创建数据库连接字符串及SqlDataAdapter对象

string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer_pubs"];

SqlConnection myConnection = new SqlConnection(ConnStr);

SqlDataAdapter myCommand = new SqlDataAdapter("select * from Titles", myConnection);

// 生成DataSet对象并填充数据

DataSet ds = new DataSet();

myCommand.Fill(ds, "Titles");

// 将Repeater控件进行数据绑定

MyRepeater.DataSource = ds.Tables["Titles"].DefaultView;

MyRepeater.DataBind();

}

</script>

<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

<ASP:Repeater id="MyRepeater" runat="server">

<HeaderTemplate>

<table width="100%" style="font: 8pt verdana">

<tr style="background-color:DFA894">

<th>Title</th>

<th>Title ID</th>

<th>Type</th>

<th>Publisher ID</th>

<th>Price</th>

</tr>

</HeaderTemplate>

<ItemTemplate>

<tr style="background-color:FFECD8">

<td>

<%# DataBinder.Eval(Container.DataItem, "title") %>

</td>

<td>

<%# DataBinder.Eval(Container.DataItem, "title_id") %>

</td>

<td>

<%# DataBinder.Eval(Container.DataItem, "type") %>

</td>

<td>

<%# DataBinder.Eval(Container.DataItem, "pub_id") %>

</td>

<td>

<%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %>

</td>

</tr>

</ItemTemplate>

<FooterTemplate>

</table>

</FooterTemplate>

</ASP:Repeater>

</body>

</html> ------------------------------------------------------------------------------------------- <%# Bind("Subject") %> //绑定字段

<%# Container.DataItemIndex + 1%> //实现自动编号

<%# DataBinder.Eval(Container.DataItem, "[n]") %> 通常使用的方法

<%# 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] %>

<%# (((自定义类型)Container.DataItem)).属性.ToString() %>//如果属性为字符串类型就不用ToString()了 DataBinder.Eval用法范例

<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>

格式化字符串参数是可选的。如果忽略参数,DataBinder.Eval 返回对象类型的值, //显示二位小数

<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "${0:F2}") %>

//{0:G}代表显示True或False

<ItemTemplate>

<asp:Image Width="12" Height="12" Border="0" runat="server"

AlternateText='<%# DataBinder.Eval(Container.DataItem, "Discontinued", "{0:G}") %>'

ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Discontinued", "~/p_w_picpaths/{0:G}.gif") %>' />

</ItemTemplate>

//转换类型

((string)DataBinder.Eval(Container, "DataItem.P_SHIP_TIME_SBM8")).Substring(4,4)

{0:d} 日期只显示年月日

{0:yyyy-mm-dd} 按格式显示年月日

{0:c} 货币样式

<%#Container.DataItem("price","{0:¥#,##0.00}")%>

<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>

Specifier Type Format Output (Passed Double 1.42) Output (Passed Int -12400)

c Currency {0:c} $1.42 -$12,400

d Decimal {0:d} System.FormatException -12400

e Scientific {0:e} 1.420000e+000 -1.240000e+004

f Fixed point {0:f} 1.42 -12400.00

g General {0:g} 1.42 -12400

n Number with commas for thousands {0:n} 1.42 -12,400

r Round trippable {0:r} 1.42 System.FormatException

x Hexadecimal {0:x4} System.FormatException cf90

{0:d} 日期只显示年月日

{0:yyyy-mm-dd} 按格式显示年月日

样式取决于 Web.config 中的设置 {0:c} 或 {0:£0,000.00} 货币样式 标准英国货币样式

<system.web>

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-US" uiCulture="en-US" />

</system.web>

显示为 £3,000.10 {0:c} 或 string.Format("{0:C}", price); 中国货币样式

<system.web>

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-cn" uiCulture="zh-cn" />

</system.web>

显示为 ¥3,000.10 {0:c} 或 string.Format("{0:C}", price); 美国货币样式

<system.web>

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

</system.web>

显示为 $3,000.10 DataBinder.Eval(Container.DataItem,"Name")和Container.DataItem("Name")有什么区别?

DataBinder是System.Web里面的一个静态类,它提供了Eval方法用于简化数据绑定表达式的编写,但是它使用的方式是通过Reflection等开销比较大的方法来达到易用性,因此其性能并不是最好的。而Container则根本不是任何一个静态的对象或方法,它是页面编译器在数据绑定事件处理程序内部声明的局部变量,其类型是可以进行数据绑定的控件的数据容器类型(如在Repeater内部的数据绑定容器叫RepeaterItem),在这些容器类中基本都有DataItem属性,因此你可以写Container.DataItem,这个属性返回的是你正在被绑定的数据源中的那个数据项。如果你的数据源是DataTable,则这个数据项的类型实际是DataRowView。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。