关于后台自动生成Button样式的问题。

wlde155 2014-02-18 11:52:50
平台:VS2012 C# WebFrom

1.从数据库读出字段的内容,在page_load中生成Button代码如下(bcz为隐藏控件,初始值为空;fi为DIV容器):
  Button[] Mybuttoe = new Button[dt.Rows.Count];
for (int i = 0; i < Mybuttoe.Length; i++)
{
Mybuttoe[i] = new Button();
buttoe.ID = "Mybuttoe" + i;
Mybuttoe[i].Text = dt.Rows[i][0].ToString().Trim();

if (Mybuttoe[i].Text != bcz.Value)
{
Mybuttoe[i].CssClass = "autobutton";
}
if (Mybuttoe[i].Text == bcz.Value)
{
Mybuttoe[i].CssClass = "autobuttonA";
}
Mybuttoe[i].Click += new System.EventHandler(buttoe_Click);
fi.Controls.Add(Mybuttoe[i]);

2.给生成的BUTTON代码写一个单击事件代码如下:
 public Button buttoe = new Button();
protected void buttoe_Click(object sender, EventArgs e)
{
bcz.Value=((Button)sender).Text.Trim().ToString();
}


效果如图:

以上代码得到的效果是:页面第一次加载,显示三个黑色字体按钮,当我第一次点小王,这时三个按钮的样式没变化,当我再次点小王,这次就对了,小王变为红色字体了,接着我又点小李,这时小王仍然为红色,小李没变,再点小李,小李就变成红色了……就这么总是慢一拍。请问,这样的问题出在什么地方,该如何解决啊?
...全文
137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlde155 2014-02-19
  • 打赏
  • 举报
回复
引用 1 楼 BenBenBears 的回复:
问题出在buttoe_Click事件里,如果我没猜错的话,你是根据控件的背景色来改变的,问题就是一开始控件的颜色是什么,你在判断里是否判断对了。
开始的颜色是这个autobutton
wlde155 2014-02-19
  • 打赏
  • 举报
回复
引用 3 楼 u011182647 的回复:
你是要点击的时候改变你点击按钮上面的字体?
改变字体和背景都可以。
小恒丶 2014-02-19
  • 打赏
  • 举报
回复
你是要点击的时候改变你点击按钮上面的字体?
BenBenBears 2014-02-19
  • 打赏
  • 举报
回复
或者是样式。
BenBenBears 2014-02-19
  • 打赏
  • 举报
回复
问题出在buttoe_Click事件里,如果我没猜错的话,你是根据控件的背景色来改变的,问题就是一开始控件的颜色是什么,你在判断里是否判断对了。
灵雨飘零 2014-02-19
  • 打赏
  • 举报
回复
不明白为什么LZ要点击两次才改变样式。。。。。
BenBenBears 2014-02-19
  • 打赏
  • 举报
回复
加断点调试,看一下点击事件是怎么运行和赋值的。

110,533

社区成员

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

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

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