2014-11-17 28 views
1

我想使用一些數據從一個頁面到另一個頁面。一般的解決方案是使用Session(大部分建議)。我的老闆不喜歡的課程,他建議我在普通類使用C# Property如下c中的會話vs屬性#

public static long parentId { get; set; } 

做同樣的工作,並設置一個一個頁面

Common.parentId = "any value"; 

,並使用它的其他頁面上像

string anyVariable = Common.parentId 

它的工作。我們也擺脫了會話到期。但爲什麼大多數人推薦會話。財產是另一種國家管理的事情嗎

+4

如果您不關心跨所有會話共享的值,可以使用靜態屬性。 –

+6

它是'Common class'中的'static'變量嗎?如果你做錯了,因爲所有的用戶都會得到相同的價值。最好使用'Session'或[將頁面中的值傳遞給另一個頁面](http://stackoverflow.com/questions/14956027/how-to-pass-values-across-the-pages-in-asp-net會議#14956100),而導航是非常難以控制的。 –

+0

如果它是暫時的,你可以使用AppCache來存儲對象,大量關於如何使用它的文檔,你可以用一個ID(可能是用戶或頁面引用)存儲數據,然後在頁面上將其拉出。 – starlight54

回答

0

如果您打算使用簡單的靜態屬性存儲一些數據,您必須瞭解它將在所有用戶中共享。會議不是爲了這個。但是,如果您想要將用戶數據存儲在某處,我不認爲有任何理由不使用會話。

在我的項目中非常方便,特別是當我們使用SQL服務器來存儲會話時 - 我們可以更新我們的網站,而不會丟失任何用戶的會話數據。 您可以查看所有可能的方式來舉行會話,例如這裏http://msdn.microsoft.com/en-us/library/75x4ha6s(v=vs.100).aspx