У меня есть этот код (строки проблем содержат комментарии выше):
private async void btn_loginAdmin_Click(object sender, RoutedEventArgs e)
{
// 'txt_adminId' does not exist in the current context.
if (txt_adminId.Text = "root")
{
// 'txt_adminPw' does not exist in the current context.
if (txt_adminPw.Password = "password")
{
var msg_login = new MessageDialog("Logged in!");
await msg_login.ShowAsync();
}
else
{
var msg_login = new MessageDialog("Wrong password!");
await msg_login.ShowAsync();
}
}
else
{
var msg_login = new MessageDialog("Wrong combo!");
await msg_login.ShowAsync();
}
}
У меня всегда была эта проблема с С#. Я не знаю, что это значит. Но я уверен, что в этом файле.xaml эти 2 текстовых поля существуют.
РЕДАКТИРОВАТЬ:
Здесь вывод:
1>C:\Database\GH3_WSE\GH3_WSE\login_admin.xaml.cs(119,17,119,42): error CS0029: Cannot implicitly convert type 'string' to 'bool'
1>C:\Database\GH3_WSE\GH3_WSE\login_admin.xaml.cs(121,21,121,54): error CS0029: Cannot implicitly convert type 'string' to 'bool'
Думаю, вы дважды забыли оператор =
на следующих строках:
if (txt_adminId.Text = "root")
должно быть
if (txt_adminId.Text == "root")
а также на этой линии
if (txt_adminPw.Password = "password")
Итак, вы можете написать это:
private async void btn_loginAdmin_Click(object sender, RoutedEventArgs e)
{
// 'txt_adminId' does not exist in the current context.
if (txt_adminId.Text == "root")
{
// 'txt_adminPw' does not exist in the current context.
if (txt_adminPw.Password == "password")
{
var msg_login = new MessageDialog("Logged in!");
await msg_login.ShowAsync();
}
else
{
var msg_login = new MessageDialog("Wrong password!");
await msg_login.ShowAsync();
}
}
else
{
var msg_login = new MessageDialog("Wrong combo!");
await msg_login.ShowAsync();
}
}
Кроме того, я бы рекомендовал использовать String.Equals
вместо ==
, потому что вы хотели бы сравнить значения, а не ссылку. Обратите внимание, что String.Equals
сравнивает правильные значения, а ==
также учитывает их ссылки.
Проверьте, что x:Class
на странице xaml
имеет точное имя вашего класса .cs
.
Это должно выглядеть так:
x:Class = "ProjectName.C#ClassName"