Eval

浅析DataBinder.Eval和Eval的区别

小云
95
2023-08-10 11:38:48
栏目: 编程语言

DataBinder.Eval是一个ASP.NET的静态方法,用于获取绑定的数据项的值。它接收三个参数:container(数据绑定控件的容器)、expression(数据项的绑定表达式)和format(可选,用于格式化数据项的字符串)。
Eval是一个ASP.NET的实例方法,用于获取绑定的数据项的值。它只有一个参数expression,表示数据项的绑定表达式。
区别在于DataBinder.Eval是静态方法,需要传递数据绑定控件的容器作为参数,而Eval是实例方法,可以直接在数据绑定控件的上下文中使用。另外,DataBinder.Eval可以接收一个可选的format参数,用于格式化数据项的字符串。
以下是一个示例,演示了如何使用DataBinder.Eval和Eval获取绑定的数据项的值:
```
protected void Page_Load(object sender, EventArgs e)
{
Listpersons = new List()
{
new Person() { Name = "John", Age = 30 },
new Person() { Name = "Jane", Age = 25 }
};
gridView.DataSource = persons;
gridView.DataBind();
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
```
在上面的示例中,绑定了一个GridView控件,并设置了两个列,分别绑定了Name和Age属性。使用DataBinder.Eval可以这样获取数据项的值:
```
<%# DataBinder.Eval(Container.DataItem, "Name") %>
<%# DataBinder.Eval(Container.DataItem, "Age") %>
```
而使用Eval可以这样获取数据项的值:
```
<%# Eval("Name") %>
<%# Eval("Age") %>
```
注意,这两种方法都需要在数据绑定控件的模板中使用,以获取数据项的值。

0
看了该问题的人还看了