Xai*_*oft 35 asp.net data-binding eval
有什么区别
<%# Eval("State") %>
Run Code Online (Sandbox Code Playgroud)
在你的aspx页面,而不是
<%# DataBinder.Eval(Container.DataItem, "State") %>
Run Code Online (Sandbox Code Playgroud)
在你的aspx页面?
虽然文档声明使用(确切地说)实际调用并且他们的任务是完成相同的工作,但是在封面<%# Eval %>和<%# DataBinder.Eval %>封面之间存在很多差异.EvalTemplateControl.EvalDataBinder.Eval
这是正确的,但使用只是Eval意味着ASP.NET本身解析了数据绑定对象.它在内部使用堆栈执行此操作,在调用时添加项目Control.DataBind().诀窍是,只有当Page控件的属性不在那时才会发生这种情况null.
如果Page当你到达DataItem需要解决的点时,管理堆栈不是最新的,那么该Page.GetDataItem()方法将给出一个例外消息
数据绑定方法如
Eval(),XPath(),和Bind()只能在数据绑定控件的上下文中使用.
DataBinder.Eval 因为你手动为它提供了目标对象,所以仍然可以在这些情况下工作,因此ASP.NET不需要自己进行任何解析.
| 归档时间: |
|
| 查看次数: |
29396 次 |
| 最近记录: |