2013-04-16 54 views
0

我想在JavaScript中創建一個變量會話,並在相同的JavaScript檢索如何創建會話變量,並在JavaScript中檢索MVC3

我的代碼

'<%Session["Test"] = "Welcome DS";%>'; 
     var session_value = '<%=Session["Test"]%>'; 
     alert(session_value); 

其捐贈「<%=會議[」測試「]%>」警報結果,它沒有給出會話值

+0

我加入了剃刀標記你的問題,因爲目前的問題表明你正在使用不同的視圖引擎。 – Yoeri

回答

0

您正在使用針對另一個版本的剃鬚刀的錯誤語法。您可以將其更改爲:

alert('@Session["Test"]'); 

請注意使用@標誌。您可以使用refer to this page以獲得正確的語法。

+0

您不必使用剃鬚刀引擎。您仍然可以使用傳統的asp.net語法。 – Yoeri

+0

如果我現在可以試試,我會的。 OP將他的問題標記爲MVC 3,所以我假設該項目在MVC 3中,並且該語法不起作用。 '<%= =%>'將不再起作用。再次.. –

+1

..你不必使用剃刀引擎。在項目創建時,您可以選擇使用舊的視圖引擎(默認選項是'Razor'或'ASPX'),在這種情況下,這可以很好地工作。 (這在MVC4中仍然是這樣) – Yoeri

0

ASP.NET認爲你寫的是一個普通的字符串。 如果我們正在討論.aspx文件,刪除引號應該可以解決這個問題。

<%Session["Test"] = "Welcome DS";%> 

var session_value = <%=Session["Test"]%>; 
+0

沒有引號不工作,它的顯示,警告在<% –

+0

附近您能確認您使用了正確的視圖引擎嗎? 你正在寫的文件的擴展名是什麼? – Yoeri

+0

文件的擴展名是.cshtml –

0

如果你真的只需要在Javascript中使用session變量,爲什麼不使用客戶端會話變量?

例如HTML5 sessionStorage

您可以設置它是這樣的:

sessionStorage.myVariable = "myvalue"; 

像這樣閱讀:

var x = sessionStorage.myVariable 
相關問題