下拉值变为空白但仍处于IF状态

时间:2016-07-06 10:34:07

标签: c# asp.net if-statement

在提交表单时,我没有从下拉列表中选择任何值,我正在检查条件为

if (Request.Form["CmbNextUser"] != Session["UserId"].ToString() || Request.Form["CmbNextUser"] != null || Request.Form["CmbNextUser"] != "")
        {
            TransferMail();
        }

因此,在调试我的值时,如下所示。

IMG

该值变为空白但仍然在 IF 条件

2 个答案:

答案 0 :(得分:1)

  1. 由于您正在比较值

    ,因此条件一导致此问题
     Request.Form["CmbNextUser"] != Session["UserId"].ToString() 
    

    "" != Session["UserId"].ToString()被评估为ture 这就是为什么它如果阻止它执行。

  2. 更改此类代码

    if (!String.IsNullOrEmpty(Request.Form["CmbNextUser"]) || Request.Form["CmbNextUser"] != Session["UserId"].ToString() )
    {
        TransferMail();
    }
    

答案 1 :(得分:0)

您的IF条件在它们之间具有逻辑 OR 。这意味着如果满足任何一个,整个事情就会执行。您的意思是使用&& (和)代替 || (或)。