读书人

五个IF语句为什么只显示最后一个IF语

发布时间: 2013-03-25 15:43:04 作者: rapoo

5个IF语句,为什么只显示最后一个IF语句?


string u = "";
string Id = Requst["id"];
string Type = Request["type"]
if (Type == "1" || Id == "0")
{
u="XX";
}
if (Type == "2" || Id == "0")
{
u="XX";
}
if (Type == "3" || Id == "0")
{
u="XX";
}
if (Type == "4" || Id == "0")
{
u="XX";
}
if (Type == "5" || Id == "0")
{
u="XX";
}
Response.Write(u);


以上语句,满足条件后(a.aspx?type=1&id=0)运行后只显示最后一个,其他的不显示,这是什么情况?
[解决办法]
你只Response.Write(u);一次
[解决办法]
你的五个if语句都执行了,因为id=0,而你在每个if里面都重新对u进行赋值,所以u的值是最后一次赋的值,即第五次赋的值。
[解决办法]
因为
[解决办法]
Id == "0"

可以这么写
if(id=="0")
{
if (Type == "1") { u="XX"; }
if (Type == "2") { u="XX"; }
if (Type == "3") { u="XX"; }
if (Type == "4" ) { u="XX"; }
if (Type == "5" ) { u="XX"; }
}

[解决办法]
u 每次都重新赋值了 没有累加
[解决办法]
引用:
因为
[解决办法]
Id == "0"

可以这么写
if(id=="0")
{
if (Type == "1") { u="XX"; }
if (Type == "2") { u="XX"; }
if (Type == "3") { u="XX"; }
if (Type == "4" ) { u="XX"; }
if (Type == "5" )……

id="0"这个条件可以提取出来,不然你得五个if会全部触发,所以只会输出最后一个执行后的值
[解决办法]
或者你用
if (Type == "1" && Id == "0") { u="XX"; }
if (Type == "2" && Id == "0") { u="XX"; }
if (Type == "3" && Id == "0") { u="XX"; }
if (Type == "4" && Id == "0") { u="XX"; }
if (Type == "5" && Id == "0") { u="XX"; }

Type == "1" && Id == "0" 意思为:type等于1,并且id等于0 两个条件都要满足

Type == "1"
[解决办法]
Id == "0" 意思为:type等于1,或者id等于0 两个条件只需要满足一个即可
------解决方案--------------------


五个IF语句,为什么只显示最后一个IF语句五个IF语句,为什么只显示最后一个IF语句五个IF语句,为什么只显示最后一个IF语句
赶紧理解清楚
[解决办法]
嗝屁了...
[解决办法]
那肯定是别的地方有问题出现

读书人网 >asp.net

热点推荐