如果用户数据保存在隔离存储中,如何跳过登录页面

本文关键字:何跳过 登录 存储 用户数 用户 数据 保存 隔离 存在 如果 | 更新日期: 2023-09-27 18:13:14

我正在开发一个windows phone 8应用程序,需要登录。

当用户第一次登录时打开应用程序,他的数据保存在隔离存储中,下次他启动应用程序时,我检查他在隔离存储中的id,并尝试导航到主页以跳过登录页面,但它不起作用。

下面是我在登录页面的代码:
public MainPage()
{
    IsolatedStorageSettings WasalnySettings = IsolatedStorageSettings.ApplicationSettings;
    if (WasalnySettings.Contains("CurrentUserGUID"))
    {
        string mydata = (string)WasalnySettings["CurrentUserGUID"];
        NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
    }
    InitializeComponent();
}

如果用户数据保存在隔离存储中,如何跳过登录页面

我认为问题是主页还没有加载,因为调用是在构造函数中,所以它还没有加载。尝试处理Loaded事件并将Navigate调用放在那里:

public MainPage()
{
    InitializeComponent();
    // Assign the handler:
    MainPage.Loaded += CheckLogin;
}
void CheckLogin(object sender, EventArgs e)
{
    // at this point, the page has been fully loaded:        
    IsolatedStorageSettings WasalnySettings = IsolatedStorageSettings.ApplicationSettings;
    if (WasalnySettings.Contains("CurrentUserGUID"))
    {
        string mydata = (string)WasalnySettings["CurrentUserGUID"];
        NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
    }
}

在这里找到:NavigationService中的对象引用错误。在

实际上,当我在"onNavigatedTo"事件处理程序中编写导航行

时,它工作了
protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // at this point, the page has been fully loaded:        
    IsolatedStorageSettings WasalnySettings = IsolatedStorageSettings.ApplicationSettings;
    if (WasalnySettings.Contains("CurrentUserGUID"))
    {
        string mydata = (string)WasalnySettings["CurrentUserGUID"];
        NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
    }
}