关于datalist里label的属性问题,菜鸟求指导

eedsyz28236 2012-05-15 10:34:04
想根据数据库里的数据确定label和button的属性
protected void Page_Load(object sender, EventArgs e)
{
string Number, Title, Content, Name, Time, Havefile = "0", Filename = "";
int Count, AnsCount;
string connectionString = constr;
SqlConnection con = new SqlConnection(connectionString);
string cmdtext = "SELECT * FROM PUB_INFO WHERE Pub_Num=" + Request.Params[0].ToString();
SqlCommand cmd = new SqlCommand(cmdtext, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Number = dr.GetValue(0).ToString();
Title = dr.GetValue(1).ToString();
Content = dr.GetValue(2).ToString();
Name = dr.GetValue(3).ToString();
Time = dr.GetValue(4).ToString();
Count = Convert.ToInt32(dr.GetValue(5).ToString());
AnsCount = Convert.ToInt32(dr.GetValue(6).ToString());
Havefile = dr.GetValue(7).ToString();
Filename = dr.GetValue(8).ToString();
}
if (Havefile == "0")
{
((Button)DataList1.Items[0].FindControl("Button1")).Visible = false;
((Label)DataList1.Items[0].FindControl("Label7")).Text = "无附件";
}
else
{
((Button)DataList1.Items[0].FindControl("Button1")).Visible = true;
((Button)DataList1.Items[0].FindControl("Button1")).Text = Filename;
((Label)DataList1.Items[0].FindControl("Label7")).Text = "";
}
}
每次都是页面读取出来时两个控件的属性都没有值啊,点一个botton后才显示值,求高手指导!!如果
...全文
209 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
eedsyz28236 2012-05-20
  • 打赏
  • 举报
回复
我看其他网上说可能应该是pageload执行时控件还没有建立,换了一种方法,结贴了
twklzw 2012-05-18
  • 打赏
  • 举报
回复
很难呀,C#
eedsyz28236 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
我觉得你应该加一些注释来解释一下你的代码,有些地方都是你自己定义的,别人看的不是很明白额。
[/Quote]
额,主要就是想从数据库读取Havefile的值,根据它的不同改变datalist里面label和button的text的值,其他的不用看
eedsyz28236 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
DataList1是什么东西
[/Quote]
是datalist的名字啊……
datalist里面有个button和label控件
ciwy_bb 2012-05-16
  • 打赏
  • 举报
回复
我觉得你应该加一些注释来解释一下你的代码,有些地方都是你自己定义的,别人看的不是很明白额。
暖枫无敌 2012-05-15
  • 打赏
  • 举报
回复
页面首次加载,记得加if(!IsPostBack)
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{


string Number, Title, Content, Name, Time, Havefile = "0", Filename = "";
int Count, AnsCount;
string connectionString = constr;
SqlConnection con = new SqlConnection(connectionString);
string cmdtext = "SELECT * FROM PUB_INFO WHERE Pub_Num=" + Request.Params[0].ToString();
SqlCommand cmd = new SqlCommand(cmdtext, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Number = dr.GetValue(0).ToString();
Title = dr.GetValue(1).ToString();
Content = dr.GetValue(2).ToString();
Name = dr.GetValue(3).ToString();
Time = dr.GetValue(4).ToString();
Count = Convert.ToInt32(dr.GetValue(5).ToString());
AnsCount = Convert.ToInt32(dr.GetValue(6).ToString());
Havefile = dr.GetValue(7).ToString();
Filename = dr.GetValue(8).ToString();
}
if (Havefile == "0")
{
((Button)DataList1.Items[0].FindControl("Button1")).Visible = false;
((Label)DataList1.Items[0].FindControl("Label7")).Text = "无附件";
}
else
{
((Button)DataList1.Items[0].FindControl("Button1")).Visible = true;
((Button)DataList1.Items[0].FindControl("Button1")).Text = Filename;
((Label)DataList1.Items[0].FindControl("Label7")).Text = "";
}
}
}
test2050 2012-05-15
  • 打赏
  • 举报
回复
DataList1是什么东西
test2050 2012-05-15
  • 打赏
  • 举报
回复
下断点一步步调试。看你的代码如何执行的。
if (Havefile == "0")
{
((Button)DataList1.Items[0].FindControl("Button1")).Visible = false;
((Label)DataList1.Items[0].FindControl("Label7")).Text = "无附件";
}
else
{
((Button)DataList1.Items[0].FindControl("Button1")).Visible = true;
((Button)DataList1.Items[0].FindControl("Button1")).Text = Filename;
((Label)DataList1.Items[0].FindControl("Label7")).Text = "";
}
这里下断点
eedsyz28236 2012-05-15
  • 打赏
  • 举报
回复
怎么没人啊

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧