我在这行代码Session.Linq<Employees>()
中收到错误:
“非静态字段,方法或属性'System.Web.UI.Page.Session.get'需要对象引用。
这是我的代码:
public static object GetData(Dictionary<string, object> tableParams)
{
IQueryable<Employees> Employee = Session.Linq<Employees>();
if (tableParams.ContainsKey("sEcho"))
{
var parser = new DataTableParser<Employees>(tableParams, Employee);
return parser.Parse();
}
return Employee;
}
如果我使用HttpContext.Current.Session.Linq<Employees>();
然后我得到:
'System.Web.SessionState.HttpSessionState'不包含'Linq'的定义,并且没有扩展方法'Linq'接受类型'System.Web.SessionState.HttpSessionState'的第一个参数可以找到'
我需要做些什么才能让它发挥作用?我是否错过了Linq关于Session的命名空间?我正在使用System.Linq
和System.Linq.Expression
。
答案 0 :(得分:0)
我认为你误会了什么。你要做的事情与Linq没有任何关系,至少在从会话中检索对象的上下文中没有。
您需要从会话中检索对象并将其取消包装:
var list = Session["MyList"] as List<int>;
if (list != null)
{
//the list was found and you can start using it here
}