C#:在if语句中覆盖字符串值?

时间:2009-12-21 23:26:19

标签: c#

我在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值)

我做错了什么?

2 个答案:

答案 0 :(得分:4)

Request.Form["valueX"] != ""替换为!string.IsNullOrEmpty(Request.Form["valueX"]),看看它为您做了什么。

答案 1 :(得分:0)

您正在运行一系列else-ifs,因此第一个条件为true将设置变量,并且不会检查其他条件。你确定前两个条件不正确吗?