这是一个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