在下面的代码外部if-else条件不能正常工作。高亮条件等于true然后控制转到else部分而不是在部分内部执行代码。
我们的要求是检查budgethours字段是否为0然后某些字段应保持隐藏,如果不是0则那些字段将是可见的。我们用来显示数据集中的数据的控件是内部转发器控件。感谢您的帮助。 / p>
protected void innerRep_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
try
{
cn = new SqlConnection(str);
SqlCommand myCommand = new SqlCommand("TotalProjectDisplay", cn);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "TotalProjectDisplay";
SqlDataAdapter ad = new SqlDataAdapter(myCommand);
ds = new DataSet();
ad.Fill(ds);
//condition here***
if (ds.Tables[1].Rows[0]["BudgetHours"].ToString()=="0")
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label lbbudgethours = (Label)e.Item.FindControl("lbbudgethours");
lbbudgethours.Visible = false;
Label lbRemainingBudget = (Label)e.Item.FindControl("lbRemainingBudget");
lbRemainingBudget.Visible = false;
}
}
else
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label lbbudgethours = (Label)e.Item.FindControl("lbbudgethours");
lbbudgethours.Visible = true;
Label lbRemainingBudget = (Label)e.Item.FindControl("lbRemainingBudget");
lbRemainingBudget.Visible = true;
}
}
}
catch (Exception ex)
{
ex.Message.ToString();
}
}
答案 0 :(得分:0)
用
替换你的if条件if (Convert.ToInt32("0" + ds.Tables[1].Rows[0]["BudgetHours"])==0)