读书人

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

发布时间: 2012-01-21 21:31:43 作者: rapoo

为什么数据库内容显示了两次?
我采用了 <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)里就会再读一次数据的

读书人网 >asp.net

热点推荐