如果页面上不加button..和button_click()事件。。这个repeater绑定数据都很正常
F5刷新也好使。。可是我加上button.和button_click事件。。只要点击按钮
就提示:string cate_id= row["category_id"].ToString();。。异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
明显是绑定数据的那个方法没榜上数据。。怎么解决呢。。???
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
Bind_Data_List();
}
}
private void Repeater1_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
DataRowView row = (DataRowView)e.Item.DataItem;
string cate_id= row["category_id"].ToString();
string txt= row["category_name"].ToString();
HyperLink hlink = new HyperLink();
hlink.Text = txt ;
hlink.NavigateUrl = "../Product/Child_Category_Display.aspx?Category_id="+cate_id;
e.Item.Controls.Add( new System.Web.UI.LiteralControl(">>>"));
e.Item.Controls.Add( hlink );
}
public void Bind_Data_List()
{
(code 。略)
this.Repeater1.DataSource = DT.DefaultView;
this.Repeater1.DataBind();
}
声明:Bind_Data_List()---肯定是没有错误的。。
private void Button1_Click(object sender, System.EventArgs e)
{
}
我的按钮事件里什么都没有。。点击后就提示错误信息。。
我感觉按钮事件的执行影响了 Bind_Data_List()的数据绑定。。
要不然怎么回提示异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
。表明。。string cate_id= row["category_id"].ToString();。。没有数据可以引用
xuexi
点击按钮postback后repeater并没有绑定数据,却依然调用了Repeater1_ItemCreated事件。建议去掉if(!IsPostBack)
Code
Repeater 中使用ItemCommand事件,而非Command/Button调用Click