【问题标题】:What's the difference between the following code when using DataBinder?使用DataBinder时,下面的代码有什么区别?
【发布时间】:2014-07-03 02:47:28
【问题描述】:

我刚开始学习 asp.net webforms 并遇到了问题。我正在查看中继器控件并遇到了这个问题。三行代码有什么区别?

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

这三个产生相同的输出吗?如果是这样,有什么区别,我应该使用哪个? 谢谢,

【问题讨论】:

  • 我不熟悉DataBinder,但是如果你想知道你应该使用哪个,也许你可以解释一下你想要实现什么?
  • 我正在使用 EF。在我的代码隐藏文件中,我使用 LINQ 从表中检索数据。最终结果应该是应该使用转发器控件显示数据。 title 和 names 是表格中的字段。

标签: c# asp.net webforms


【解决方案1】:
  1. Container.DataItem(string, string) 是数据源的单行,它是您的 LINQ 查询最终 Select 的提示。
  2. DataBinder.Eval 允许您访问 DataItem 对象的公共属性。它功能强大,但在运行时使用反射,因此速度可能非常慢。
  3. EvalDataBinder.Eval 的简写

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 2021-12-26
    • 2013-12-03
    • 2019-09-11
    • 1970-01-01
    相关资源
    最近更新 更多