.Net Else Statement
本文关键字:Statement Else Net | 更新日期: 2023-09-27 17:59:46
protected void Button1_Click(object sender, EventArgs e)
{
if (username.Text == "test" && password.Text == "test")
Response.Cookies ["TheCookie"]["Username"] = username.Text;
Response.Redirect("loggedIn.aspx");
else
Label1.Text = "Invalid Username and/or Password.";
}
以上是我正在努力实现的一个功能。由于某些原因,此处的else语句未被接受。我不知道为什么。如有任何帮助,我们将不胜感激。
if (username.Text == "test" && password.Text == "test")
{
Response.Cookies ["TheCookie"]["Username"] = username.Text;
Response.Redirect("loggedIn.aspx");
}
else
Label1.Text = "Invalid Username and/or Password.";
用大括号将其括起来,否则它将只使用下一个直接行(语句(作为条件的一部分。
即使对于单线if/else
,这样做也是一种很好的做法,因为这样可以更容易地进行维护。
else
{
Label1.Text = "Invalid Username and/or Password.";
}
if else(C#参考(-MSDN
then语句和else语句都可以由单个语句或多个用大括号括起来的语句(
{}
(。对于单个语句,大括号是可选的,但是建议。
if语句的then
(true(部分有多个语句。虽然您使用了缩进,但编译器不会考虑这些空格/缩进。由于您没有指定{}
来定义if语句的作用域,因此if
作用域只考虑一条语句。因此出现了错误。
您可以通过使用{}
引入scope来解决此问题。还建议对单个语句使用{}
(显式定义作用域(,因为它使代码更容易理解,也不容易出错。您的代码应该是:
protected void Button1_Click(object sender, EventArgs e)
{
if (username.Text == "test" && password.Text == "test")
{
Response.Cookies["TheCookie"]["Username"] = username.Text;
Response.Redirect("loggedIn.aspx");
}
else
{
Label1.Text = "Invalid Username and/or Password.";
}
}