代码中的逻辑错误

时间:2017-07-31 05:42:43

标签: asp.net

这是所有代码

ScriptManager.RegisterStartupScript(Page, Page.GetType(),"myModalEditStandType", "$('#myModalEditStandType').modal();", true);

using (con)
{
    using (SqlCommand cmd = new SqlCommand())
    {
        cmd.CommandText = "select formid,formName from FormDetails where Edition_Id=" + Session["Edition_ID"].ToString() + " ";
        cmd.Connection = con;
        con.Open();

        using (SqlDataReader sdr = cmd.ExecuteReader())
        {
            chkFormNames.Items.Clear();
            while (sdr.Read())
            {
                ListItem item = new ListItem();

                item.Text = sdr["formName"].ToString();
                item.Value = sdr["FormId"].ToString();

                standName = e.CommandName.ToString();
                txtStandType.Text = standName.ToString();
                txtStandTypeEdit_ModalBox.Text = standName.ToString();

                string[] commandArgs = e.CommandArgument.ToString().Split(new char[] {','});

                chkFormNames.Items.Add(item);

                foreach (var ca in commandArgs)
                {
                    if(ca != null || ca != string.Empty ||ca != "")
                    {
                        FormDetails_ID = ca;
                        if (item.Value == FormDetails_ID)
                        {
                            item.Selected = true;
                        }
                    }
                }
            }
        }
        con.Close();
    }
}

grdManageStandType.DataBind();

以下代码中的问题: -

 if (item.Value == FormDetails_ID)
 {
   item.Selected = true;
 }

我调试了代码并进行了检查。让我解释一下错误的例子 例如:- StandTypeName表单编辑支架类型
共同参展商1,2,4编辑

StandTypeName是共同参展商,当我调试第一个表格的代码时包含3个表格,这里1是工作正常但是第二和第三个表格,这里是2,4,给出问题

这里

 if (item.Value == FormDetails_ID)
{
  item.Selected = true;
} 

在调试时检查表单2时,item.value和FormDetails.ID都包含value = 2但是如果循环它直接退出循环则不进入 这正是问题,请帮助它

1 个答案:

答案 0 :(得分:0)

检查item.ValueFormDetails_ID的类型。

也许您可以使用equals代替==