【发布时间】:2019-10-19 14:27:44
【问题描述】:
我正在尝试在选择索引更改时将数据从数据库获取到文本框。我得到了一个输出,但我在循环中使用了简单的 if 语句,但它不起作用我在哪里做错了请帮助我??
让我解释一下。我在txtEmployeeNumber_TextChanged 上使用两个文本框txtEmployeeNumber 和txtEmployeename 我已经编写了我的逻辑代码,当txtEmployeeNumber_TextChanged 触发时txtEmployeename 应该填充其各自的数据,如果txtEmployeeNumber 文本与任何不匹配数据然后应该通过错误未找到数据。但在这两种情况下,我都会收到相同的错误消息
protected void txtEmployeeNumber_TextChanged(object sender, EventArgs e)
{
string EmployeeNo = "";
string EmployeeName = "";
int Row = 0;
foreach (GridViewRow row in grdRegister.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
EmployeeNo = (row.Cells[1].FindControl("txtEmployeeNumber") as TextBox).Text;
}
DataTable dt = new DataTable();
dt = (DataTable)Application["Employee_details"];
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["Employee_ID"].ToString() == EmployeeNo)
{
(row.Cells[2].FindControl("txtEmployeeName") as TextBox).Text = dt.Rows[i]["Employee_Name"].ToString();
EmployeeName = (row.Cells[2].FindControl("txtEmployeeName") as TextBox).Text;
break;
}
else if ((row.Cells[2].FindControl("txtEmployeeName") as TextBox).Text == "")
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Error", "alert('No Data Found...')", true);
}
}
}
}
【问题讨论】:
-
这里有三个if,哪个if不工作?
-
If 语句仅在您的条件为真时才会通过。如果您在任何情况下都只看到一个输出,则意味着您的第一个条件不满足,这意味着
dt.Rows[i]["Employee_ID"].ToString()不等于EmployeeNo。 -
else if ((row.Cells[2].FindControl("txtEmployeeName") as TextBox).Text == "") 如果我的条件在这两种情况下为真或假,则始终阻止触发它的整流罩
-
收到错误消息后,我正在从数据库中获取数据
-
@MasLoo its dt.Rows[i]["Employee_ID"].ToString() 过滤我的数据表数据以匹配employeenumber
标签: c# asp.net for-loop if-statement foreach