SPA MVC4に新しい、して、ユーザーを識別するために、アカウントのコントローラからLinqToEntitiesDataControllerにセッション変数を渡すしようとしている:私が使用しようとしていますLinqToEntitiesDataControllerでLinqToEntitiesDataController MVC 4単一ページのアプリケーション - セッション変数
using (DALEntities db = new DALEntities())
{
string PHN = (from p in db.Patients
where p.UserName == model.UserName
select p.PHN).First();
Session["P"] = PHN;
}
変数は次のように:
The name 'Session' does not exist in the current context
:
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);
}
}
私はこのエラーを取得します
これが唯一の方法ですか、このコントローラでセッション変数を使用する方が良い方法がありますか?
私はまた、アカウントのコントローラで使用しようとした:
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
感謝を。
パーシャルクラスのため、変数をLinqコントローラに渡すことができません – hncl
もう一度おねがいしますが、私はまだ文字列phn = HttpContext.Current.Session ["PHN"]を使ってセッション変数を取得できません.ToString();それはまだnullです – hncl
Hummmm.Iしました...どうですか?web.configのsessionStateはどうですか? – takepara