如何在下一页显示用户登录名
本文关键字:用户 登录 显示 一页 | 更新日期: 2023-09-27 18:26:12
打开应用程序时,我的第一个屏幕是登录名。在你登录后,我还有10个页面。我只想知道登录所有页面的人的名字,比如,(欢迎,用户!)。我不知道如何做这个
这是我的代码:
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
txtUsername.IsEnabled = true;
txtPassword.IsEnabled = true;
txtMessage.Text = "";
txtMessage.IsEnabled = false;
try
{
SqlConnection oConnection = new SqlConnection(_ConnectionString);
SqlCommand oCommand = new SqlCommand("Select * from register where Username = '" + txtUsername.Text + "' AND Password = '" + txtPassword.Password + "'", oConnection);
if (oConnection.State == ConnectionState.Closed)
oConnection.Open();
SqlDataAdapter adapter = new SqlDataAdapter();
SqlDataReader reader = oCommand.ExecuteReader();
string Username = null;
if (reader.HasRows)
{
username = txtUsername.Text;
oConnection.Close();
NavigationService _Nav = NavigationService.GetNavigationService(this);
_Nav.Navigate(new Uri("Menuxaml.xaml", UriKind.RelativeOrAbsolute));
}
else if (txtUsername.Text.Trim().Length == 0)
Errormessage.Text = "Please enter your Username";
else if (txtPassword.Password.Trim().Length == 0)
Errormessage.Text = "Please enter your Password";
else
{
Errormessage.Text = "Invalid Username or Password!";
txtPassword.Password = "";
txtUsername.Text = "";
}
oConnection.Close();
}
}
如果您在所有10个页面中都需要用户名,我建议您将其添加到应用程序资源中,并从整个应用程序中访问。
让我教你怎么做。
Application.Current.Resources.Add("UserName",txtUsername.Text);
然后在您的第二个页面上使用此资源设置您的标签。
lbl.Content = Application.Current.Resources["UserName"];
您可以通过构造函数或第二页公开的公共方法将值传递给第二页。
详细信息如下:
第1页:
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Page2 p = new Page2(2);
this.NavigationService.Navigate(p);
}
}
第2页:
public partial class Page2 : Page
{
int valueFromPage1;
public Page2()
{
InitializeComponent();
}
public Page2(int val):this()
{
valueFromPage1 = val;
this.Loaded += new RoutedEventHandler(Page2_Loaded);
}
void Page2_Loaded(object sender, RoutedEventArgs e)
{
lbl.Content = "Value passed from page1 is: " + valueFromPage1;
}
}
如果你还有什么问题,请告诉我。
如果你想使用相同的结构,那么
page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));
目的地页面:
string parameter = string.Empty;
if (NavigationContext.QueryString.TryGetValue("parameter", out parameter))
{
this.label.Text = parameter;
}