在 C# 类之间传递值
我对 C# 的奇妙世界还是个新手,我不知道如何应对这样的问题。
我在 Visual Studio 2008 上有一个 .NET 网站,并且有一个主页 main.aspx
(及其后面的 main.aspx.cs
)和一个游戏页面, game.aspx
(也与game.aspx.cs
)。
在 main.aspx.cs
的主类中,我有一个静态变量 private static string _username;
以及一个名为 getUsername 的方法,该方法仅返回该值。
现在,在我的游戏类 (game.aspx.cs
) 中,我有一个事件处理程序 saveButton_Click()
,在此函数中我需要 _username< 的值/代码>!
如果有帮助,用户从主页开始,然后登录...如果登录有效,则保存变量_username
,然后用户单击链接转到game.aspx
页面!
我已经研究了内部关键字,但我不确定如何在这个特定的示例中使用它,或者即使在这个示例中这是正确的事情!
I'm quite new in the wonderful world of C# and I'm not sure how to cope with such a problem.
I have a .NET website on Visual Studio 2008, and I have a main page, main.aspx
(with its following main.aspx.cs
) and a game page, game.aspx
(also with game.aspx.cs
).
In the main class in main.aspx.cs
I have a static variable, private static string _username;
and with it, a method called getUsername that simply returns this value.
Now in my game class (game.aspx.cs
) I have an event handler, saveButton_Click()
, and in this function I need the value of _username
!
If it helps, a user starts on the main page, and then logs in... the variable _username
is saved if the login is valid and then the user clicks a link to go to the game.aspx
page!
I've looked into the internal keyword, but I am not sure how to use it in this particular example or even if it's the right thing to do in this example!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要回答您的问题,您可以在单独的类中创建公共静态属性。
但是,不要。
当两个人同时使用您的网站时,此模型将严重失败(或更糟)。
相反,您应该使用会话状态。
To answer your question, you can make a public static property in a separate class.
However, don't.
This model will fail horribly (or worse) when two people use your site at once.
Instead, you should use Session State.
将其添加到您的主页和游戏页面类中:
然后从您的代码访问该属性;
Add this to your main page and game page classes:
and then access the property from your code;
您必须使用
Sessions
来存储和访问多个页面中的值:检查详细信息ASP.NET 会话状态
You have to use
Sessions
to store and access the value in multiple pages:Check for Details ASP.NET Session State
恕我直言,您可以使用基于表单的身份验证,这样就可以非常简单地通过
User.Identity.Name
获取用户名。IMHO, you could use Forms Based Authentication which would then make it very simple to get the user name, via
User.Identity.Name
.