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
前もって感謝します。