首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为什么数据库内容显示了两次?该怎么处理

2012-01-21 
为什么数据库内容显示了两次?我采用了 select onchange()事件,触发动态创建table,在创建table的时候为什

为什么数据库内容显示了两次?
我采用了 <select> onchange()事件,触发动态创建table,在创建table的时候为什么从数据库读取了两遍数据呢
代码如下:
protected   void   articleType_SelectedIndexChanged(object   sender,   System.EventArgs   e)
                {
                        SqlConnection   conn1   =   new   SqlConnection(ConfigurationSettings.AppSettings[ "connstring "]);
                        conn1.Open();
                        string   articleTypeId   =   this.articleType.SelectedValue;
                      SqlCommand   articleCmd1   =   new   SqlCommand( "select   *   from   Article   where     Type= "+articleTypeId,conn1);
                        SqlDataReader   articleSdr1   =   articleCmd1.ExecuteReader();
                          while(articleSdr1.Read())
                        {
                                TableRow   r   =   new   TableRow();
                                TableCell   c1   =   new   TableCell();
                                c1.Controls.Add(new   LiteralControl(articleSdr1[1].ToString()));
                                r.Cells.Add(c1);
                                TableCell   c2   =   new   TableCell();
                                c2.Controls.Add(new   LiteralControl( " <input   type= 'radio '   value= ' "+articleSdr1[0].ToString()+ " '>   "));
                                r.Cells.Add(c2);
                                articleTable.Rows.Add(r);

                        }

                }


[解决办法]
跟踪一下
[解决办法]
好像控件初次load时也会有selectchange事件
[解决办法]
跟踪调试一下
[解决办法]
检查一下你的代码,是不是有逻辑问题。如果没有的话,那你就跟踪调试一下最方便了。
[解决办法]
你在pageload中有没有绑定
有要加上if(!ispostback)
{
//your code here
}
------解决方案--------------------


if (!IsPostBack)

{再绑定}
[解决办法]
控件触发事件的时候要先onload
这个时候你绑定数据的代码没有写在if(!ispostback)里就会再读一次数据的

热点排行