c# - 布尔值在设置为 true 后返回 false
问题描述
所以我有一个登录名并且这个显示弹出窗口显示不止一次所以我的逻辑是
创建一个布尔值并检查它是否为真/假,然后显示弹出窗口
所以用户正确登录它导航到主页并
MainPage.justloggedin = false;
在主页上
public static bool justloggedin { get; set; } = true;
if (justloggedin != true)
{
DisplayAlert("Logged in", "Login Process Complete. Welcome", "OK");
justloggedin = true;
}
它显示一次,然后如果您转到另一个页面并返回,它会再次显示,然后在第二次显示后不再显示。
我无法理解这个......
登录:
private void Login_Phase2()
{
try
{
foreach (var user in list)
{
if (user.username == Usernamelabel.Text)
{
if (Usernamelabel.Text = "TesterDetail")
//This is just for one single Testing account They cant see prices
{
GlobalVariable.Tester = true;
Preferences.Set("CId", user.id.ToString());
if (WpApiCredentials.token != null)
Preferences.Set("Token",
WpApiCredentials.token);
Application.Current.MainPage = new Home();
MainPage.justloggedin = false;
Preferences.Set("CUsername", user.username);
Preferences.Set("CEmail", user.email);
LoggedIn = true;
Application.Current.SavePropertiesAsync();
}
else
{
GlobalVariable.Tester = false;
Preferences.Set("CId", user.id.ToString());
if (WpApiCredentials.token != null)
Preferences.Set("Token",
WpApiCredentials.token);
Application.Current.MainPage = new Home();
MainPage.justloggedin = false;
Preferences.Set("CUsername", user.username);
Preferences.Set("CEmail", user.email);
LoggedIn = true;
Application.Current.SavePropertiesAsync();
}
}
}
}
catch (Exception ex)
{
Crashes.TrackError(ex);
}
}
上面的部分与其说是登录,不如说是检索正确的客户以从他们那里获取详细信息电子邮件、ID 等安全登录是过程 1
注意:如果您想推荐一种更好的方式来暴露客户所以我可以得到那里的详细信息请做
我遇到了 LinQ 的问题,也将一些变量加倍,所以回到了尴尬的 Foreach
解决方案
我解决了这个问题。
将分享我所做的但我仍在寻找为什么会发生这种情况的答案。
在
LoginPhase2(){
foreach (var user in list)
{
if (user.username == Usernamelabel.Text)
{
if (Usernamelabel.Text == "TesteDetails")
{
GlobalVariable.Tester = true;
Preferences.Set("CId", user.id.ToString());
if (WpApiCredentials.token != null) Preferences.Set("Token", WpApiCredentials.token);
App.justloggedin = false;
Preferences.Set("CUsername", user.username);
Preferences.Set("CEmail", user.email);
Application.Current.SavePropertiesAsync();
}
else
{
GlobalVariable.Tester = false;
Preferences.Set("CId", user.id.ToString());
if (WpApiCredentials.token != null) Preferences.Set("Token", WpApiCredentials.token);
Application.Current.MainPage = new Home();
App.justloggedin = false;
Preferences.Set("CUsername", user.username);
Preferences.Set("CEmail", user.email);
Application.Current.SavePropertiesAsync();
}
}
}
if (App.justloggedin != true)
{
App.justloggedin = true;
DisplayAlert("Logged in", "Login Process Complete. Welcome to Mica Market", "OK");
Application.Current.MainPage = new Home();
}
}
推荐阅读
- database - 在数据库中保存 SVG 元素点
- google-app-engine - 从 Google Apps 脚本访问经过身份验证的 gae 应用程序
- c# - 在搜索功能c#中获取用户的特定ID
- sql - 在具有三个主键的两个相同表之间选择公共数据
- php - Symfony 4.1 404 在路由上,路由显示在调试器中并且缓存已被清除
- c# - ASP.NET MVC C#中全局应用程序对象的垃圾收集
- spring - 成分中的弹簧验证
- python - display unicode in Html Widget of iPyWidgets
- swift - 快速过滤数组模型字典的数组
- android - Android espresso - 如何在 Listview 底部检查 TextView 的值?