我正在测试三种不同的条件; 第一个是DropDown1的selectedIndex是2,TextBox是空的 第二个是DropDown1的selectedIndex是2,TextBox不是空的 最后一个是dropDown的selectedIndex是3 执行时直接进入Last条件,甚至不测试第一个条件。
protected void btnValider_Click(object sender, EventArgs e)
{
if (DropDown1.SelectedIndex == 2)
{
if (txtNvSt.Text != null)
{
con.charger("update Reparation set dateReception='" + txtDateReception.Text + "', nNouvST='" + txtNvSt.Text + "', suivieMateriel='" + txtSuivi.Text + "', statut='" + cmbStatut.SelectedValue + "' where serviceTag ='" + txtServiceTag.Text + "'", false);
con.charger("update Materiel set reparation= NULL where serviceTag='" + txtServiceTag.Text + "'", false);
Session["ST"] = txtNvSt.Text;
Response.Redirect("NouveauMAt.aspx");
}
else
if (txtNvSt.Text == null)
{
MessageBox.Show("txtNv null");
con.charger("update Reparation set dateReception='" + txtDateReception.Text + "',suivieMateriel='" + txtSuivi.Text + "',statut='" + DropDown1.SelectedValue + "' where serviceTag ='" + txtServiceTag.Text + "'", false);
con.charger("update Materiel set reparation = NULL where serviceTag='" + txtServiceTag.Text + "'", false);
con.charger("insert into Stocker values('1', '" + txtServiceTag.Text + "')", false);
}
}
else
{
con.charger("update Materiel set reparation = NULL, idEmplacement = NULL where serviceTag='" + txtServiceTag.Text + "'", false);
con.charger("insert into Stocker values('4', '" + txtServiceTag.Text + "')", false);
con.charger("update Reparation set dateReception='" + txtDateReception.Text + "',suivieMateriel='" + txtSuivi.Text + "',statut='" + cmbStatut.SelectedValue + "' where serviceTag='" + txtServiceTag.Text + "'", false);
Response.Redirect("StockHS.aspx");
}
}
答案 0 :(得分:2)
ASP TextBox的Text
属性从不 null。 See the documentation
默认值为空字符串,因此如果要检查文本框是否实际为空,请将条件更改为以下内容:
if (txtNvSt.Text != string.Empty)
或者你可以使用String.IsNullOrWhiteSpace来计算空白,这取决于你的情况,可能仍然被认为是“空的”。
你说这只是直接转到else
(我认为)。你说条件如下:
最后一个是dropDown的selectedIndex是3
但是,您的else
实际上并没有检查任何内容。如果第一种情况失败,即检查DropDown1.SelectedIndex == 2
,那么无论else
的值是什么,您都总是输入此SelectedIndex
。
请注意,SelectedIndex
基于零,因此列表中的第二项是索引1
,依此类推。