c#奇怪的panel显示/隐藏
我在一个界面中用到多个panel,默认是隐藏的.
在pageload的if (!IsPostBack)中我去读数据库,根据读出来的数据来设置各个panel的显示还是隐藏.
我用中断来查,发现能读出数据,也能设置panel的visible属性,
但奇怪的是,界面上显示的却一直是隐藏
以下是后台代码:
if (!IsPostBack)
{
id = Request.Params["id"].ToString().Trim();
ViewState["dqid"] = id;
DateTime newDate = DateTime.Now;
SqlConnection con = new SqlConnection(source);
con.Open();
string sql = null;
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader reader = null;
#region //读记录
sql = "select * from cw_Pingzheng_main where id='" + (string)ViewState["dqid"] + "'";
cmd.CommandText = sql;
reader = cmd.ExecuteReader();
if (reader.Read())
{
string pzdate = reader["pzdate"].ToString();
DateTime dt = Convert.ToDateTime(pzdate);
string y = dt.Year.ToString();
string m = dt.Month.ToString();
string d = dt.Day.ToString();
txtriqi.Text = y + "-" + m + "-" + d;
listzi.SelectedValue = reader["zi"].ToString();
txthao.Text = reader["hao"].ToString();
txtfujian.Text = reader["fujian"].ToString();
txtmm.Text = reader["remark"].ToString();
if (reader["edman"].ToString().Trim() == null || reader["edman"].ToString().Trim() == "" || reader["edman"].ToString().Trim() == string.Empty)
{
Label_jizhang.Text = reader["crman"].ToString();
}
else
{
Label_jizhang.Text = reader["edman"].ToString();
}
}
else
{
//读记录失败
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('警告,读取凭证主表失败!');</script>");
return;
}
reader.Close();
SqlConnection con2 = new SqlConnection(source);
con2.Open();
string sql2 = null;
SqlCommand cmd2 = new SqlCommand(sql2, con2);
SqlDataReader reader2 = null;
sql = "select * from cw_Pingzheng_detail where id='" + id + "' order by jie_amt desc";
cmd.CommandText = sql;
reader = cmd.ExecuteReader();
string temp = "";
TextBox tb = null;
Label tc = null;
Panel pl1 = null;
Panel pl2 = null;
Panel pl3 = null;
DropDownList dd = null;
string tempd = "";
string tempa = "";
string tempb = "";
double tempc = 0;
double ttj = 0;
double ttd = 0;
int i = 0;
while (reader.Read())
{
//摘要
temp = "txt_zhaiyao" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tb.Text = reader["zhaiyao"].ToString().Trim();
//科目
temp = "txtkemu" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
//科目ID
temp = "Laa" + (i + 1).ToString().Trim();
tc = (Label)this.Page.FindControl(temp);
tc.Text = reader["FaccountID"].ToString().Trim();
tempd = tc.Text.ToString().Trim();
sql2 = "select * from cw_GLAcct where FaccountID='" + tempd + "'";
cmd2.CommandText = sql2;
reader2 = cmd2.ExecuteReader();
if (reader2.Read())
{
tempa = reader2["Fnumber"].ToString().Trim();
tempb = reader2["Fname"].ToString().Trim();
tb.Text = tempa + " - - " + tempb;
//科目方向
temp = "Lab" + (i + 1).ToString().Trim();
tc = (Label)this.Page.FindControl(temp);
tempb = reader2["jiedai"].ToString().Trim();
if (tempb == "jie")
{
tc.Text = "借方科目";
}
else
{
tc.Text = "贷方科目";
}
//显示还是隐藏3个Panel
temp = "P" + (i + 1).ToString().Trim();
pl1 = (Panel)this.Page.FindControl(temp);
tempa = reader2["buhesuanwaibi"].ToString().Trim();
if (tempa== "False")
{
pl1.Visible = true;
}
else
{
pl1.Visible = false;
}
//
temp = "w" + (i + 1).ToString().Trim();
pl2 = (Panel)this.Page.FindControl(temp);
tempa = reader2["hesuansuoyouwaibi"].ToString().Trim();
if (tempa == "True")
{
pl2.Visible = true;
}
else
{
pl2.Visible = false;
}
//
temp = "J" + (i + 1).ToString().Trim();
pl3 = (Panel)this.Page.FindControl(temp);
tempa = reader2["jiesuanleikemu"].ToString().Trim();
if (tempa == "True")
{
pl3.Visible = true;
}
else
{
pl3.Visible = false;
}
}
reader2.Close();
//借方金额
temp = "txtkemu_jie_amt" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tempc = double.Parse(reader["jie_amt"].ToString().Trim());
if (tempc == 0)
{
tb.Text = "";
}
else
{
tb.Text = tempc.ToString("0.00");
ttj = ttj + double.Parse(tb.Text.ToString());
}
//贷方金额
temp = "txtkemu_dai_amt" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tempc = double.Parse(reader["dai_amt"].ToString().Trim());
if (tempc == 0)
{
tb.Text = "";
}
else
{
tempc = double.Parse(reader["dai_amt"].ToString().Trim());
tb.Text = tempc.ToString("0.00");
ttd = ttd + double.Parse(tb.Text.ToString());
}
//外币
temp = "txtwaibi_waibi" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tempa = reader["wb"].ToString().Trim();
if (tempa != "RMB")
{
P1.Visible = true;
tb.Text = tempa;
}
else
{
P1.Visible = false;
}
//汇率
temp = "txtwaibi_huilv" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tempc = double.Parse(reader["wb_huilv"].ToString().Trim());
if (tempa != "RMB")
{
tb.Text = tempc.ToString();
}
//外币金额
temp = "txtwaibi_amt" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tempc = double.Parse(reader["wb_amt"].ToString().Trim());
if (tempa != "RMB")
{
tb.Text = tempc.ToString("0.00");
}
//结算方式
temp = "list_jsfs" + (i + 1).ToString().Trim();
dd = (DropDownList)this.Page.FindControl(temp);
dd.SelectedValue = reader["js_fs"].ToString().Trim();
//结算单号
temp = "txt_jsh" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tb.Text = reader["js_no"].ToString().Trim();
//结算日期
temp = "txt_jsrq" + (i + 1).ToString().Trim();
tb = (TextBox)this.Page.FindControl(temp);
tb.Text = reader["js_date"].ToString().Trim();
i++;
}
reader.Close();
con.Close();
con2.Close();
total_jie_amt.Text = ttj.ToString().Trim();
total_dai_amt.Text = ttd.ToString().Trim();
#endregion //读记录