linq组合查询时属性扩展问题
学习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组合查询时属性扩展问题的更多相关文章
- SqlProfilter监控指定数据库数据表——监控linq组合查询生成的sql
1.例子 实际测试环境中往往很多测试都在调用数据库,那么如何使用SqlProfilter监控筛选到自己想要监看的数据库对应的表有关linq生成的sql时候就需要做如下设置了 ........... u ...
- ADO.NET(查询、属性扩展)
一.ADO.NET 融合面向对象的查询语句 1.只查询一条数据 //数据访问中的select方法 public stu select(string xuehao) { stu s = null; cm ...
- ADO.NET 数据访问类查询、属性扩展
今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...
- WebForm之Linq组合查询
组合查询 protected void Button1_Click(object sender, EventArgs e) { //默认查询所有,返回的是Table类型,转换成IQueryAble类型 ...
- Linq组合查询与分页组合查询结合
1.组合查询 <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox& ...
- LINQ 组合查询 和分页查询的使用
前端代码 <%@ Page Language="C#" AutoEventWireup="true" Debug="true" Cod ...
- LinQ 组合查询与分页
1.以开头查 public List<Car> Select1(string a){ return con.Car.Where(r => r.Name.StartsWith(a)). ...
- 多条件动态LINQ 组合查询
本文章转载:http://www.cnblogs.com/wangiqngpei557/archive/2013/02/05/2893096.html 参考:http://dotnet.9sssd.c ...
- 1.4(SQL学习笔记)分组、子查询、联结、组合查询
一.分组 建表及数据填充语句下载:链接: https://pan.baidu.com/s/1WHYafwqKJEKq1kDwCH_Zlg 提取码: 3wy4 1.1初识分组 分组是按照某一列,将该列中 ...
随机推荐
- 炫酷自定义翻转View--第三方开源--TagCloudView
下载地址:https://github.com/ChinaZeng/3dTagCloudAndroid 贴上Demo代码: <com.moxun.tagcloudlib.view.TagClou ...
- 浅谈MariaDB Galera Cluster架构
MariaDB MariaDB 是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器,MariaDB是同一MySQL版本的二进制替代品 ...
- LeetCode OJ:Balanced Binary Tree(平衡二叉树)
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- 初识Linux--虚拟机下安装Ubuntu16
最近接收到任务,说是下半年可能要搞全文检索.听到后顿时炸锅了,一方面是对新技术的兴奋,另一方面,我TM连Linux都不会玩,怎么搞全文检索.怀揣着对开源世界的无线向往(恐惧),我决定试水Linux. ...
- Codeforces Round #266 (Div. 2)B(暴力枚举)
很简单的暴力枚举,却卡了我那么长时间,可见我的基本功不够扎实. 两个数相乘等于一个数6*n,那么我枚举其中一个乘数就行了,而且枚举到sqrt(6*n)就行了,这个是暴力法解题中很常用的性质. 这道题找 ...
- pthread_getspecific()--读线程私有数据|pthread_setspecific()--写线程私有数据
原型: #include <pthread.h> void *pthread_getspecific(pthread_key_t key); int pthread_setspecific ...
- UVA - 11019 Matrix Matcher (二维字符串哈希)
给你一个n*m的矩阵,和一个x*y的模式矩阵,求模式矩阵在原矩阵中的出现次数. 看上去是kmp在二维情况下的版本,但单纯的kmp已经无法做到了,所以考虑字符串哈希. 类比一维情况下的哈希算法,利用容斥 ...
- 快速构建一个 Springboot
快速构建一个 Springboot 官网:http://projects.spring.io/spring-boot/ Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring ...
- 图的m着色问题 (回溯搜索)
图的m着色问题 [问题描述] 给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的 ...
- 基于微服务的父maven依赖
<dependencies> <!-- spring-boot核心 --> <dependency> <groupId>org.springframew ...