【问题标题】:maintain session in windows mobile app在 Windows 移动应用程序中维护会话
【发布时间】:2014-08-02 15:41:22
【问题描述】:

我正在使用 .net 框架 3.5(Visual Studio 2008)开发 Windows 移动应用程序。我需要在移动应用程序中使用静态变量,如网站中的会话。下面的代码是我的登录表单和我使用静态的登录表单方法并声明一个静态变量。请参见下面的代码。

public partial class Login : Form
{
    private void btnSubmit_Click_1(object sender, EventArgs e)
    {
    var username = txtUsername.Text;
    var password = txtPassword.Text;
    //do some other task with username & password
    }
    public static class loginInfo
    {
        public static string username;       
    }
}

然后我在同一应用程序的另一个页面中使用了相同的静态变量,我可以在消息框对话框中看到它们没有值。见下面的代码

public partial class SettingsForm : Form
{
     private void SettingsControl_SelectedIndexChanged(object sender,EventArgs e)
     {
          //other code comes here
          MessageBox.Show(loginInfo.username);
     }
}

上面的代码显示了一个空对话框,并且没有显示用户名。

我需要在本地保存用户名并检查它是否存在,我可以允许该设置页面,否则需要隐藏坐席页面。

请指导我做错了什么。

【问题讨论】:

    标签: c# .net visual-studio-2010 visual-studio


    【解决方案1】:

    代码var username = txtUsername.Text; 正在将一个局部变量设置为用户名编辑控件中的值。一旦方法完成,此变量就会超出范围并永远丢失。

    我相信你想要做的是:

    public partial class Login : Form
    {
        private void btnSubmit_Click_1(object sender, EventArgs e)
        {
        loginInfo.username = txtUsername.Text;
        loginInfo.password = txtPassword.Text;
        //do some other task with username & password
        }
        public static class loginInfo
        {
            public static string username;
            public static string password;
        }
    }
    

    【讨论】:

    • 我试过这个,我遇到了同样的问题。你能告诉我用其他方式解决这个问题吗。
    • 您是否尝试过调试它以确保 loginInfo.username 确实被设置?
    猜你喜欢
    • 2015-05-15
    • 1970-01-01
    • 2014-10-13
    • 2013-11-28
    • 1970-01-01
    • 2013-05-04
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多