我在C#中有一个相当简单的if else语句,看起来像这样;
string BodyContent = "";
if (Request.Form["value1"] != "")
{
BodyContent = "bla bla 1";
}
else if (Request.Form["value2"] != "")
{
BodyContent = "bla bla 2";
}
else if (Request.Form["value3"] != "")
{
BodyContent = "bla bla 3";
}
else {
BodyContent = "Error";
}
我的问题是,即使Request.Form [“value3”]确实有一个值,它也是值1检查中可见的BodyContent值。 (它只能是在任何时间点都有值的请求表单对象之一,因此不是因为value1和value3都有request.form值)
我做错了什么?
答案 0 :(得分:4)
将Request.Form["valueX"] != ""
替换为!string.IsNullOrEmpty(Request.Form["valueX"])
,看看它为您做了什么。
答案 1 :(得分:0)
您正在运行一系列else-ifs,因此第一个条件为true将设置变量,并且不会检查其他条件。你确定前两个条件不正确吗?