学习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. ionic2——安装并配置android sdk

    下载 android开发者官网下载sdk比较慢,甚至访问不了.所以建议去android中文网下载sdk,如下图找到android-sdk点击链接下载就行了 下载sdk 安装 安装前先要安装java j ...

  2. 如何卸载Python通过setup.py安装的模块

    0,pip uninstall  xxxx     1.找到egg sudo easy_install -m BitVector .... Using /usr/local/lib/python2./ ...

  3. N!的阶乘附带简单大整数类的输入输出(暂时没有深入的了解)

    Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! 我的思路:就想着大整数类去了,才发现自己还不能很好的掌握,其实这是一个大 ...

  4. 六、python沉淀之路--int str list tuple dict 重点总结

    一.数字int(..)二.字符串replace/find/join/strip/startswith/split/upper/lower/formattempalte = "i am {na ...

  5. bzoj 4403 序列统计——转化成组合数的思路

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4403 先说说自己的想法吧. 设f[ i ][ j ]表示当前在倒数第 i 个位置,当前和后面 ...

  6. 五、Jmeter--关联(正则表达式)

    一.什么时候需要关联? 1. 服务器返回的动态变化而且对业务有影响的需要关联. 2. 回放脚本看是否正确,检查下脚本,是否有动态数据影响 3. 一大串字符串,每次请求参数是否有变化 4. 可以找开发问 ...

  7. Java实现Stack类

    Java实现Stack类 import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Sc ...

  8. Verilog数组表示及初始化

    (转)Verilog数组表示及初始化 这里的内存模型指的是内存的行为模型.Verilog中提供了两维数组来帮助我们建立内存的行为模型.具体来说,就是可以将内存宣称为一个reg类型的数组,这个数组中的任 ...

  9. 机器学习:SVM(非线性数据分类:SVM中使用多项式特征和核函数SVC)

    一.基础理解 数据:线性数据.非线性数据: 线性数据:线性相关.非线性相关:(非线性相关的数据不一定是非线性数据) 1)SVM 解决非线性数据分类的方法 方法一: 多项式思维:扩充原本的数据,制造新的 ...

  10. mybatis 学习四 (上)resutlMap

    SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ...