私は次のコード行を試みるが、私はエラーを取得するときに私はDotVVMでサイトを構築しています:とNullReferenceExceptionDotVVMビューモデルでセッション変数を作成するにはどうすればよいですか?
HttpContext.Current.Session.Add ("Value", Item3);
私は次のコード行を試みるが、私はエラーを取得するときに私はDotVVMでサイトを構築しています:とNullReferenceExceptionDotVVMビューモデルでセッション変数を作成するにはどうすればよいですか?
HttpContext.Current.Session.Add ("Value", Item3);
DotVVMはOWINミドルウェアあるので、あなたは、セッションを有効にするには、最初のOWINを設定する必要があります。それを呼び出す、Startup.cs
ファイルに次に
public static void RequireAspNetSession(IAppBuilder app) {
app.Use((context, next) =>
{
var httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
httpContext.SetSessionStateBehavior(SessionStateBehavior.Required);
return next();
});
// To make sure the above `Use` is in the correct position:
app.UseStageMarker(PipelineStage.MapHandler);
}
:まず、あなたは、ASP.NETのセッションをオンにこの方法を、宣言する必要があり
app.RequireAspNetSession();
次に、あなたがあなたのセッション状態にアクセスするためにHttpContext.Current.Session["key"]
を使用することができます。
あなたが行うことによって、セッションにオブジェクトを保存することができます
Session["Value"] = Item3;
あなたは実行して、セッションからオブジェクトを取得することができます。
object value = Session["Value"];
通常、あなたが使用するタイプに値をキャストする必要があり、そうであればItem3
文字列である場合、あなたはどうなる:
string value = (string)Session["Value"];
あなたは同様にあなたのビューからセッション変数にアクセスすることができますので、あなたがあなたのviewmodelに保管する必要はありません。
古典的なasp.netはい、しかし、私は新しいasp.netフレームワークdotVVMを使用しています。私は後で申し訳なく書いています。 –
@TomášJurásekああ、私の悪い - 私はdotvvmタグに気付かなかった。 –