学习linq的过程中,做一个表格的条件查询并且分页显示。显示的出的数据需要经过属性拓展来实现将需要给用户看的值显示出来。

后台绑定数据时用的是上下文----

if(!ispostback){

using (DataClassesDataContext con = new DataClassesDataContext())
{

List<Users> ulist = con.Users.ToList(); ;
Repeater1.DataSource = ulist.Skip(0).Take(count);
Repeater1.DataBind();
Lab2.Text = ye().ToString();

DropDownList1.DataSource = con.UserNation.ToList();
DropDownList1.DataTextField = "NationName";
DropDownList1.DataValueField = "NationCode";
DropDownList1.DataBind();
}}

这样在第一次加载页面时就将所有数据绑定了。

之后开始条件查询,并且将他封为一个方法

public List<Users> data()
{ using (DataClassesDataContext con = new DataClassesDataContext())
{
List<Users> ulist = con.Users.ToList();
if (TextBox1.Text.Trim().Length > )
{
ulist = ulist.Where(r => r.Ids.ToString().Contains(TextBox1.Text.Trim())).ToList();
}
if (TextBox2.Text.Trim().Length > )
{
ulist = ulist.Where(r => r.Username.Contains(TextBox2.Text)).ToList();
}
if (minzu.SelectedValue != null)
{
ulist = ulist.Where(r => r.Nation == minzu.SelectedValue).ToList();
}
return ulist;
}
}

条件查询

在分页按钮和查询按钮的点击事件里执行这个方法进行数据绑定

此时会出现报错!!

因为在执行完这个方法后 上下文 这个con就已经被释放了,然而前台绑定的数据是根据上下文的属性扩展绑定的,所以当上下文释放了之后,前段进行数据展示就会报错了。

解决方法

将上下文变量写在公共区域 让所有的方法都能引用到,然后把之前做的条件查询的方法里面上下文删掉,接受一个上下文类型的值,直接用接收的值进行查询。

在每个按钮的事件里执行方法的时候都把那个变量传进去。

linq组合查询时属性扩展问题的更多相关文章

  1. SqlProfilter监控指定数据库数据表——监控linq组合查询生成的sql

    1.例子 实际测试环境中往往很多测试都在调用数据库,那么如何使用SqlProfilter监控筛选到自己想要监看的数据库对应的表有关linq生成的sql时候就需要做如下设置了 ........... u ...

  2. ADO.NET(查询、属性扩展)

    一.ADO.NET 融合面向对象的查询语句 1.只查询一条数据 //数据访问中的select方法 public stu select(string xuehao) { stu s = null; cm ...

  3. ADO.NET 数据访问类查询、属性扩展

    今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...

  4. WebForm之Linq组合查询

    组合查询 protected void Button1_Click(object sender, EventArgs e) { //默认查询所有,返回的是Table类型,转换成IQueryAble类型 ...

  5. Linq组合查询与分页组合查询结合

    1.组合查询 <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox& ...

  6. LINQ 组合查询 和分页查询的使用

    前端代码 <%@ Page Language="C#" AutoEventWireup="true" Debug="true" Cod ...

  7. LinQ 组合查询与分页

    1.以开头查 public List<Car> Select1(string a){ return con.Car.Where(r => r.Name.StartsWith(a)). ...

  8. 多条件动态LINQ 组合查询

    本文章转载:http://www.cnblogs.com/wangiqngpei557/archive/2013/02/05/2893096.html 参考:http://dotnet.9sssd.c ...

  9. 1.4(SQL学习笔记)分组、子查询、联结、组合查询

    一.分组 建表及数据填充语句下载:链接: https://pan.baidu.com/s/1WHYafwqKJEKq1kDwCH_Zlg 提取码: 3wy4 1.1初识分组 分组是按照某一列,将该列中 ...

随机推荐

  1. hive_学习_00_资源帖

    一.官方资料 二.参考资料

  2. Oracle 11g 客户端连接 oracle 10g 服务端,乱码问题

    从网上搜索资料基本确定:字符集错误 Pl/sql 连接到oracle 数据库   “select userenv('language') from dual” 找到服务端的对应的字符集,拷贝之: 到本 ...

  3. @angular/cli项目构建--animations

    使用方法一(文件形式定义): animations.ts import { animate, AnimationEntryMetadata, state, style, transition, tri ...

  4. AOE网络——求关键路径

    1.计算每个活动的最早发生时间(正序) earliest[1]=0; earlest[k]=max{earliest[j],+dut[j][k]} 2.计算每个活动的最晚发生时间(逆序) lastes ...

  5. 骨骼动画 cocos2d-x + cocoStudio <cocos2d-x : version 2.2.0>

    cocos2d-x version 2.2.0 首先,在 HelloWorldScene.cpp 中的 init()函数中 添加如下代码 (资源文件可以直接到 cocos2d-x 中获取) #incl ...

  6. Spark入门实战系列

    转自:http://www.cnblogs.com/shishanyuan/p/4699644.html 这一两年Spark技术很火,自己也凑热闹,反复的试验.研究,有痛苦万分也有欣喜若狂,抽空把这些 ...

  7. LeetCode Reverse String II

    原题链接在这里:https://leetcode.com/problems/reverse-string-ii/#/description 题目: Given a string and an inte ...

  8. rabbitmq的vhost与用户管理

    当我们在创建用户时,会指定用户能访问一个虚拟机,并且该用户只能访问该虚拟机下的队列和交换机,如果没有指定,默认的是”/”;一个rabbitmq服务器上可以运行多个vhost,以便于适用不同的业务需要, ...

  9. loj 2542 随机游走 —— 最值反演+树上期望DP+fmt

    题目:https://loj.ac/problem/2542 因为走到所有点的期望就是所有点期望的最大值,所以先最值反演一下,问题变成从根走到一个点集任意一点就停止的期望值: 设 \( f[x] \) ...

  10. phpstorm win/mac git配置 破解

    http://blog.csdn.net/fenglailea/article/details/53350080 phpstorm中git配置教程: http://blog.csdn.net/knig ...