【问题标题】:Asp.net: Which Better Bind ListView By Model Binding or By DataSource?Asp.net:通过模型绑定或数据源哪个更好地绑定 ListView?
【发布时间】:2018-02-04 17:18:45
【问题描述】:

我使用实体框架构建了一个 asp.net Web 应用程序 Webforms,我找到了两种绑定 ListView 的方法: 1- 按数据源这样

 void Bind()
    {
        var search = db.Search.Where(k => k.RequestId == RequestId);
        lstSearch.DataSource = search.ToList();
        lstSearch.DataBind();
    }

2- 像这样使用 SelectMethod

public IQueryable<Search> BindOrders()
{
    var search = db.Search.Where(k => k.RequestId == 12).AsQueryable();

    return search;
}

哪一个最好,为什么?

【问题讨论】:

  • 检查我的答案

标签: c# entity-framework listview webforms model-binding


【解决方案1】:

SelectMethod 和许多其他将数据绑定到 Web 控件的功能在 .NET Framework 4.5 中作为强类型数据绑定引入。这些功能让您可以以一种干净且可维护的方式处理您创建/删除/修改/过滤来自/到 Web 控件的数据。

另一方面,DataSource 方式是将数据绑定到 Web 控件的旧方式。

我建议您阅读 this 博客,其中详细介绍了该主题(ScottGu 的):

ASP.NET vNext 中的新模型绑定支持是对 现有的 Web 表单数据绑定系统。它借用概念和 来自 ASP.NET MVC 中的模型绑定系统的功能(你会看到这个 更多在后面的帖子中),并使用以代码为中心的数据访问 范式更简单、更灵活。

另外,检查使用IQueryable&lt;Object&gt;advantages

从用户的角度来看,主要区别在于,当您使用 IQueryable(使用正确支持事物的提供者),您 可以节省大量资源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 2013-05-19
    • 2017-07-15
    • 2011-08-07
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多