簡體   English   中英

如何在Windows Phone 8中保存登錄狀態?

[英]How to save log-in state in Windows Phone 8?

我正在嘗試使用登錄頁面為WP8構建應用程序。 我想保存用戶登錄狀態,以便最終用戶不必重新輸入他/她的憑據,我的應用程序是嵌入在webbrowser控件中的HTML頁面。 有人可以幫助我如何保存登錄狀態?

首先,如果您嘗試登錄的網站不是您的網站,那么您所要求的將無法完成。

現在,假設您在XAML代碼中使用WebBrowser ,並且您登錄的網站是您的網站,那么可以假設您有一個成功登錄方法:

在那里,您必須調用以下代碼:

window.external.notify("LogInSuccess");

然后您的WebBrowser應該是這樣的:

<phone:WebBrowser HorizontalAlignment="Stretch" Name="webBrowserControl" VerticalAlignment="Stretch" IsScriptEnabled="True" ScriptNotify="JavaScriptNotify"/>

.cs文件中調用的方法實際上應該將成功值存儲到隔離的存儲中,每次打開登錄頁面時都會檢查該成功值:

void JavaScriptNotify(Object sender, NotifyEventArgs notifyArgs)
{
    // Check if the value is correct:
    if (notifyArgs.Value.Equals("LogInSuccess"))
    {
        // Save State to Isolated Storage
        var settings = IsolatedStorageSettings.ApplicationSettings;
        settings.Add("loginStatus ", "success");
    }
}

最后,您應該將登錄頁面的構造方法重寫為以下內容:

公共LoginPage(){var loginStatus = settings [“ loginStatus”] .ToString(); if(loginStatus.Equals(success)){NavigationService.Navigate(new Uri(“ / PageAfterLoginPage.xaml,UriKind.Relative));}}

為此,請重寫OnNavigatedTo方法並添加以下代碼:

NavigationService.RemoveBackEntry();

最后一部分將只是從堆棧中刪除登錄頁面,以便當用戶單擊“后退”按鈕時,不會再次導航到該屏幕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM