Gridview Row事件响应方法无法获取其它UpdatePanel中控件数据的解决办法

protected void gvCheckingReport_RowCreated(object sender, GridViewRowEventArgs e)
{
   int curYear = int.Parse(this.ddlYear.SelectedItem.Text);
    .........
}

这段代码运行后,在页面加载第一次可以顺利获取到curYear,curMonth值,但是一量存放年月的两个dropdownlist控件数据发生了更新,再触发gridview所在在updatepanel控件更新时,再次创建gridview行时,发生问题:提示ddlYear.SelectedItem为null,悲剧了。

经过反复调试,发现gridview的row系统事件竟然都无法读取。解决办法是,在gridview所在的updatepanel里面加入一个textbox控件curYearTempSaved,当在另一个updatepanel里选择新的年份时,在selecteindexchanged事件里加入

protected void ddlYear_SelectedIndexChanged(object sender, EventArgs e)
{
    this.curYearTempSaved.Text = this.ddlYear.SelectedItem.Text;
    this.DataPanel.Update();
}

在Row系列事件中获取更新后的curYearTempSaved.text数据即可,当前需要注意的是curYearTempSaved不要在页面加载事件中进行初始化,原因不明,请高手在后面跟帖说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值