日期:2014-05-20  浏览次数:20527 次

为什么数据库内容显示了两次?
我采用了 <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
}
------解决方案--------------------