這是一個ASP.NET Forms項目。當用戶輸入他/她的用戶名和密碼(在登錄頁面中)時,我想保存用戶名,以便可以在項目的任何頁面的代碼中檢索它。我知道我可以通過會話變量來做到這一點。
但是有可能創建一個靜態公共類與獲取設置並存儲在那裏的價值,並檢索它使用這個類?跨所有頁面全局存儲值
回答
如果您使用的母版頁在那家商店,在隱藏的價值信息,因此您可以在任何頁面,您使用的是母版頁訪問創建一個隱藏字段。
我確實使用母版頁。而且我會就谷歌如何創建一個隱藏領域。謝謝。 – Hidalgo
http://msdn.microsoft.com/en-us/library/ms227988.ASPX –
你可以投票,如果這是你想要的答案:) –
靜態類是在你的應用程序,這意味着你可以用一個類似於競爭條件最終跨實例/會話共享;例如,來自User_A的請求可以讀取由User_B在您的靜態類中設置的值。 (看到這SO answer)
從臀部拍攝,它可能會更容易編寫一個包裝/抽象類爲您的用戶的信息,使訪問他們的細節更容易。喜歡的東西:
public class UserDetails{
public string Name;
public string Age;
public string Gender;
public UserDetails(HttpContext context){
this.Name = context.User.Identity.Name;
this.Age = ...;
this.Gender = ...;
// Alternatively, you could perform your own data access to
// get/set these details. It depends on how you're storing your
// users' info.
}
}
然後在後面的代碼......
UserDetails userDetails = new UserDetails(context.Current);
Response.Write(userDetails.Name); // user's name
Response.Write(userDetails.Age); // user's age
...
非常感謝您的示例代碼。我會看看如何在我的情況下應用它。 – Hidalgo
- 1. PHP跨所有用戶的全局會話存儲
- 2. PHP:所有頁面的全局變量
- 3. 跨多個頁面存儲PHP會話
- 4. 爲某些頁面存儲全局數據的最佳方法
- 5. 跨域存儲值
- 6. Javascript - 轉儲所有全局變量
- 7. 在php中存儲ONE全局值
- 8. 如何全局存儲div ID值
- 9. CodeIgniter跨所有頁面登錄
- 10. 全局指定所有Mercurial存儲庫的用戶名?
- 11. JCache「頁面」組緩存所有頁面?
- 12. 在頁面中獲取所有(javascript)全局變量
- 13. 如何在所有MediaWiki頁面中添加全局模板?
- 14. 使圖像在所有頁面全局顯示
- 15. 鉻 - localStorage的 - 存儲值提供跨越所有URL
- 16. 跨網頁的Django全局變量?
- 17. 全局Hadoop配置存儲
- 18. GCC全局變量存儲
- 19. 瀏覽器全局存儲?
- 20. Lua C 5.1 - 遍歷所有全局值
- 21. 設置全局常量跨越所有視圖
- 22. Flex 4.5 - 跨所有視圖的全局變量?
- 23. 如何跨所有包一個全局變量訪問在golang
- 24. 跨所有網站集的全局導航(SharePoint Foundation 2013)
- 25. PHP - 跨所有php線程訪問全局變量
- 26. 從ajax頁面存儲選中的值
- 27. SQL存儲過程值來自頁面
- 28. 存儲過程的價值asp.net頁面
- 29. 如何在jQuery中存儲全局值(不一定是全局變量)?
- 30. 使所有變量全局
如果我沒有記錯的話,靜態類由您的應用程序的所有實例/會話共享。因此,使用靜態類可能不是一個用戶名的好主意,因爲它完全可以看到一個用戶的名字出現在另一個用戶的屏幕上的情況... –
@ ajax81謝謝。我沒有意識到靜態類將值存儲在服務器上。 – Hidalgo