2016-04-20 29 views

回答

7

DotVVMOWIN中間件,所以你必須先配置OWIN啓用會話。首先,你需要聲明這個方法,它開啓ASP.NET會話:

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); 
} 

然後在Startup.cs文件,稱它爲:

app.RequireAspNetSession(); 

然後你可以使用HttpContext.Current.Session["key"]來訪問你的會話狀態。

0

您可以通過執行保存在Session對象可以通過執行從會話中檢索對象:

object value = Session["Value"]; 

通常情況下,你需要將值轉換爲您所使用的類型,因此,如果Item3是一個字符串,那麼你會怎麼做:

string value = (string)Session["Value"]; 

您可以從您的視圖,來訪問會話變量一樣,所以你不應該需要將其存儲在您的視圖模型。

+0

在經典的asp.net是的,但我使用新的asp.net框架dotVVM。我後來寫了對不起。 –

+0

@TomášJurásek啊,我的壞 - 我沒有注意到dotvvm標籤。 –