LinqDataSource:过滤并绑定到gridview

2024-04-20

问题没有按照我想要的方式解决,但我继续感谢:ŁukaszW.pl 他的时间和努力。

我正在使用 gridview 控件和 linqdatasource ,它一切正常,我添加了 searchBySubject 的功能,并且添加了WhereParameters 并绑定了我的 gridview (参见下面的代码),但不知何故它没有返回任何行,我看到我有基于我正在搜索的内容的行。

 protected void btnSearch_Click(object sender, EventArgs e)
 {    
   this.LinqDataSource1.WhereParameters["Subject"].DefaultValue = this.txtSubject.Text;
   this.GridView1.DataBind();
 }

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  
         DataSourceID="LinqDataSource1"  
        EmptyDataText="There are no data records to display."> 
        <Columns> 
            <asp:BoundField DataField="UserID" HeaderText="UserID" ReadOnly="True"  
                SortExpression="UserID" /> 
            <asp:BoundField DataField="Username" HeaderText="Username"  
                SortExpression="Username" /> 
            <asp:BoundField DataField="FirstName" HeaderText="FirstName"  
                SortExpression="FirstName" /> 
            <asp:BoundField DataField="LastName" HeaderText="LastName"  
                SortExpression="LastName" /> 
            <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" /> 
        </Columns> 
    </asp:GridView> 

     <asp:LinqDataSource ID="LinqDataSource1" runat="server"  
        ContextTypeName="MyDataContextDataContext" 
        onselecting="LinqDataSource_Selecting" > 
            <WhereParameters> 
               <asp:Parameter Name="Subject" />
            </WhereParameters> 
        </asp:LinqDataSource>



public List<Reporter> GetInquiries()
        {
            using (MyDataContextDataContext dc = conn.GetContext())
            {
                var loadAll = (from spName in dc.spReporter()
                               select spName);

                List<Reporter> reporterList = new List<Reporter>();

                foreach (var item in loadAll)
                {
                    reporterList.Add(new Reporter(item.Id, item.InqDate, item.Subject));
                }                

                return reporterList;
            }      

ERROR:

 The query results cannot be enumerated more than once

Assuming你声明一个Linq数据源 http://msdn.microsoft.com/en-us/library/bb516252.aspx在您的页面中像这样:

<asp:LinqDataSource ID="LinqDataSource1"
                    runat="server"  
                    ContextTypeName="MyDataContext"
                    OnSelecting="LinqDataSource1_Selecting">
    <WhereParameters>
        <asp:ControlParameter Name="Subject"
                              ControlID="txtSubject"
                              PropertyName="Text"
                              Type="String" />
    </WhereParameters>
</asp:LinqDataSource>

Your LinqDataSource.选择 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linqdatasource.selecting.aspx事件处理程序大致应如下所示:

public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
     var db = new MyDataContext())
     var subjectFilter = e.WhereParameters("Subject");
     var reporters = from spName in db.spReporter()
                     where spName.Subject.Contains(subjectFilter)
                     select new Reporter(spName.Id, spName.InqDate, spName.Subject);
     e.Result = reporters;
}

或者您可以将“主题”作为输入参数添加到存储过程和数据库中的过滤中。在这种情况下,事件处理程序将如下所示:

public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
     var db = new MyDataContext())
     var subjectFilter = e.WhereParameters("Subject");
     var reporters = from spName in db.spReporter(subjectFilter)
                     select new Reporter(spName.Id, spName.InqDate, spName.Subject);
     e.Result = reporters;
}

相关资源:

  • LinqDataSource - 使用存储过程 http://msdn.microsoft.com/en-us/library/bb516252.aspx#working_with_stored_procedures
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LinqDataSource:过滤并绑定到gridview 的相关文章

  • 在运行时配置 ASP.NET 会话状态

    我们有一个使用 SQL Server 会话状态的 ASP NET 网站 状态配置在Web config like
  • Lambda、封闭变量、显示类、可序列化性和流行层

    我已经为 Compact Framework 实现了一个流行层 包括BinaryFormatter 类似序列化器 我希望能够在适当的情况下序列化编译器生成的类 这些类是由 lambda 和迭代器等产生的 这样如果 例如 lambda 及其封
  • Windows Server / Datacenter:设置 CPU 关联性 > 64 个核心

    SetThreadAffinityMask 允许为 64 个逻辑核心 处理器 设置关联掩码 但是 Windows Datacenter 最多可以有 64 个 CPU 每个 CPU 都有多个内核 请参阅here http social tec
  • Qml 中的 FileDialog 在发布中不起作用

    我正在与以下项目合作Qt Quick Control 2 当我尝试在调试模式下运行软件时 FileDialog qml 可以完美打开 但是当我将其部署为发布模式时 它无法工作 这是我的代码 import QtQuick 2 4 import
  • 有没有一种方法可以在不测试整个应用程序的情况下对类库(通用 Windows)进行单元测试?

    我需要进行单元测试Class Library Universal Windows 但是从 添加新项目 窗口中 我只看到了这一点 该项目使用应用程序容器运行所有测试 它始终打开一个应用程序 由于我不需要所有这些开销 我想知道是否有一种方法可以
  • std::atomic 是否会阻止非原子变量对原子变量进行重新排序

    问题很简单 问 如果我有 settings N STNGS used by many threads std atomic
  • C++ 中的静态虚函数

    我有一个基类和一个派生类 我想更改基函数 同时保持它们静态 因为它们应该作为静态传递给其他函数 我怎样才能做到这一点 ATL 框架通过将基类设为模板 然后让派生类将其类类型作为模板参数传递 从而绕过了无虚拟静态的限制 然后 基类可以在需要时
  • 将 size_t 变量添加到指针

    我想向指针添加 size t 类型 有些像这样 void function size t sizeA size t sizeB void pointer pointer malloc sizeA pointer pointer sizeB
  • 如何对具有无效值的属性使用 JSON.net 的默认值

    我正在使用 Newtonsoft JSON 库来反序列化来自 Web 服务的响应 问题是某些字段包含无效值 例如 一条记录上的一个字段包含一个 T 表示该字段应该是数字 我想做的是将无效字段的值设置为 null 或其他默认值 我的所有属性都
  • 如何获取 TFS 2013 中所有用户的列表

    我正在使用 Team Foundation Server TFS 2013 和 Visual studio 2012 我需要 TFS 中所有用户的列表 有没有办法使用C 获取TFS中的所有用户 从TFS 2010获取用户列表 您可以尝试使用
  • 枚举和枚举类之间的区别[重复]

    这个问题在这里已经有答案了 谁能解释一下两者之间的区别 enum Type1 type2 And enum class Type1 type2 我经常使用前者 可能太频繁而没有足够的封装 但我从未使用过第二个例子 Thanks enum A
  • Windows Phone 8.1 应用程序多语言

    我正在使用 Visual Studio 2015 在 SilverLight 中创建 Windows Phone 应用程序 8 1 我正在用英语和阿拉伯语创建多语言应用程序 为此 我在项目中创建了 Strings 文件夹 其中包含 en U
  • 二叉树实现C++

    二叉树插入 include stdafx h include
  • FireFox 中的默认表单按钮

    我正在构建一个服务器控件 它将搜索我们的数据库并返回结果 服务器控件包含一个 ASP Panel 我已将面板上的默认按钮设置为等于我的按钮 id 并将表单默认按钮设置为等于我的按钮 id 在面板上 MyPanel DefaultButton
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进
  • 为什么这是一个未定义的行为?

    我的回答这个问题 https stackoverflow com q 18706587 845092这个函数是 inline bool divisible15 unsigned int x 286331153 2 32 1 15 40086
  • 如何使用 GCC 在 C 上编译库?

    我用这些文件创建了一个库pila h and pila c 我编译文件pila c with gcc pila c c这个库运行良好 我已经测试过了 然后我又做了一个图书馆 这个库有文件pila funciones extra h and
  • C# 中的自定义按钮:如何删除悬停背景?

    我正在尝试使用 Visual Studio 2005 对我的表单 其 FormBorderStyle none 执行自定义按钮 我在链接到该按钮的 ImageList 中有我的 3 种状态按钮图像 this btnClose AutoSiz
  • GridView,在代码中添加标题行第 2 部分

    这是这篇文章的延续 但添加了完整的代码 ASP NET GridView 在代码中添加标题行 https stackoverflow com questions 19119004 asp net gridview adding header
  • 如何在 C++ 中打印变量的名称? [复制]

    这个问题在这里已经有答案了 可能的重复 在C中获取变量名称的编程方法 https stackoverflow com questions 1623111 programmatic way to get variable name in c

随机推荐

  • 获取设备的方向?

    我有一个相机预览活动 它被迫保持在横向模式 有没有办法可以告诉我手机当前的方向 而不是屏幕方向 基本上我想知道用户是否以纵向模式或横向模式握住手机 以便我可以正确旋转输出捕获的位图 现在它总是以横向模式输出 Thanks if getRes
  • 异常字符串插值不替换变量

    我们正在使用 Scala Play 我试图确保所有 SQL 查询都使用 Anorm 的字符串插值 它适用于某些查询 但许多查询实际上并未在执行查询之前替换变量 import anorm SQL import anorm SqlStringI
  • 获取maven插件在自己的Mojo中的目录路径

    我正在创建一个自定义 Maven 插件 在其中一篇 Mojos 中 我正在读一本Xpp3Dom使用以下代码段从 XML 文件中获取对象 File pluginsFile new File absolute path to file plug
  • Django:如何计算浏览的人数

    我正在 Django 中制作一个简单的 BBS 应用程序 我希望每当有人看到帖子时 该帖子的浏览量 post view no 就会增加 目前我面临两个困难 我需要限制 post view no 的增加 以便一个用户只能增加一次 无论用户刷新
  • 使用 Rails 动态构建 RESTful 路由

    我正在尝试编写一个辅助方法 该方法接受复数资源的名称并返回相应的链接 该方法的本质是 def get link resource link to resource capitalize resource path end 显然resourc
  • Django CMS 多级下拉菜单

    我对 Django CMS 有点陌生 我尽力避免询问 但这让我发疯 我制作了一个带有主题和类别模型的 Wiki 应用程序 我将它连接到我的 CMS 上的一个站点并将其添加到我的菜单中 现在我希望能够在我的菜单上显示所有顶级类别 其子类别和主
  • 类型错误:Object(...) 不是 Vue 中的函数

    我是 Vue 新手 正在尝试处理表单 我正在制作一个网络应用程序来管理会议 为此我有一个多步骤表单来处理访客和主持人数据 当我单击提交按钮时 出现以下错误 TypeError Object is not a function 我在 stac
  • Nginx:从不同的根目录和位置提供 JPG 图像

    我有 3 个不同的存储区域 头像 文章 趋势 用于存储我的图像 我想将 URL trends 123 jpg 链接 到趋势文件夹 avatars 23 jpg 链接 到头像等 配置一 server listen 8089 server na
  • 使用偏移时导航栏项目可点击区域被剪切

    在 SwiftUI 中 考虑这个导航栏 这是尾随的方式 navigationBarItems宣布 HStack spacing 0 Button action self addListModal true label NavBarImage
  • Python - 对包含字符串和数字的列表中的数字值进行排序

    我创建了一个列表 其中包含 python 中分数文件的所有信息 分数 txt 文件 Dan Danson 9 6 1 John Johnson 5 7 10 Mike Mikeson 10 7 6 我这样做是为了将 txt 文件中的信息获取
  • ruby splat 运算符在多重赋值期间到底如何获取数组的第一个和其余部分?

    在 ruby 中 可以将多重赋值与 splat 运算符结合起来 以模拟函数式语言中的first 和rest 或head 和tail first rest 1 2 3 4 first output 1 rest output 2 3 4 sp
  • 有人使用 ASP .NET 会员资格吗?

    想知道是否有人使用 ASP NET 会员资格 如果你这样做 请告诉我你的想法 如果您不使用它 您打算在未来的项目中使用它吗 如果没有 为什么 RWendi 是的 已经用过很多次了 它会为你节省很多工作 客户经常会要求更改用户名和管理密码重置
  • 如何使用适用于 C 和 C++ 的 GSOAP 访问 Amazon AWS S3?

    我到处搜索这个 但找不到一个合适的代码 我怎样才能访问亚马逊 AWS S3 http aws amazon com s3 服务使用GSOAP http gsoap2 sourceforge net 下面的代码来自OP 最初 该帖子包含问题和
  • VS 2012 扩展中的标准控件

    我目前正在更改公司内部的 VS 扩展以支持 Visual Studio 2012 我正在努力解决的是如何使 UI 动态适应活动的 VS 主题 我找到了几个颜色 画笔的资源键 Microsoft VisualStudio Shell 11 0
  • Google Freebase API 如何获取图像的 URL?

    所以 我试图弄清楚如何获取 Freebase 数据库中图像的 URL 我想要一张旧金山的照片 这就是我获取旧金山主题的方式 https www googleapis com freebase v1sandbox topic 2Fen 2Fs
  • 编译具有多个参数的案例类会导致 java.lang.StackOverflowError

    我有以下带有大量参数 150 的案例类 在使用 sbt 版本 0 14 编译期间导致 java lang StackOverflowError 异常 类定义 case class TestClass Param1 String Param2
  • 通过 url 将整数传递给 php $_GET

    所以我正在做一些 CTF 挑战之一是关于 php 类型杂耍 代码看起来像这样 if GET var1 hash md4 GET var1 print flag 所以我 80 确定我需要传入一个整数 这样它就会是真的 但我能操作的只是 url
  • jQuery Uncaught TypeError 与 Theme Punch Revolution Slider

    我遇到了一个无法追踪的问题 我正在使用革命滑块 http themes themepunch com theme revolution jq我不断收到 jQuery 错误 Uncaught TypeError Cannot read pro
  • WordPress REST API - 允许任何人发帖

    我正在 WordPress 上构建一个应用程序 它需要一个简单的前端表单 任何人都可以提交需要保存在数据库中的信息 我正在尝试通过 REST API 来处理这个问题 由于应用程序的性质 提交此信息时不能进行任何页面重定向 我可以毫无问题地设
  • LinqDataSource:过滤并绑定到gridview

    问题没有按照我想要的方式解决 但我继续感谢 ukaszW pl 他的时间和努力 我正在使用 gridview 控件和 linqdatasource 它一切正常 我添加了 searchBySubject 的功能 并且添加了WhereParam