SPA MVC4 的新手,尝试将会话变量从帐户控制器传递给 LinqToEntitiesDataController,以通过以下方式识别用户:
using (DALEntities db = new DALEntities())
{
string PHN = (from p in db.Patients
where p.UserName == model.UserName
select p.PHN).First();
Session["P"] = PHN;
}
在 LinqToEntitiesDataController 我尝试使用如下变量:
public partial class DALController : LinqToEntitiesDataController<MyVDC.Models.DALEntities>
{
public IQueryable<MyVDC.Models.TestModel> GetTestModel()
{
**string phn = (string)Session["P"];**
return ObjectContext.TestModels.Where(b => b.PHN == phn).OrderBy(b => b.ID);
}
}
我得到这个错误:
The name 'Session' does not exist in the current context
这是唯一的方法,还是有更好的方法来使用这个控制器的会话变量。
我还尝试在帐户控制器中使用:
HttpContext.Current.Session["P"] = PHN;
但我得到这个错误:
'System.Web.HttpContextBase' does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument of type 'System.Web.HttpContextBase' could be found
提前致谢。