protected void GridView1_DataBound(object sender, EventArgs e)
{
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
if (this.GridView1.Rows[i].Cells[0].Controls.Count != 0)
{
Button btn = (Button)this.GridView1.Rows[i].Cells[4].FindControl("Button1");
btn.Click += new EventHandler(btn_Click);
}
}
}//调试了,触发不了
protected void btn_Click(object sender, EventArgs e)
{
string text = (sender as Button).CommandArgument;
}在GridView中的模版列中添加了个Button,一开始想给个它在程序中绑个委托点击事件,但是却触发不了~!
是我写错了还是?? 貌似以前应该可以阿...
{
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
if (this.GridView1.Rows[i].Cells[0].Controls.Count != 0)
{
Button btn = (Button)this.GridView1.Rows[i].Cells[4].FindControl("Button1");
btn.Click += new EventHandler(btn_Click);
}
}
}//调试了,触发不了
protected void btn_Click(object sender, EventArgs e)
{
string text = (sender as Button).CommandArgument;
}在GridView中的模版列中添加了个Button,一开始想给个它在程序中绑个委托点击事件,但是却触发不了~!
是我写错了还是?? 貌似以前应该可以阿...
<asp:Button ID="Button1" runat="server" OnClick="btn_Click"
Text="Click"/>
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btn = e.Row.FindControl("Button1") as Button;
btn.Click += new EventHandler(btn_Click);
}
}
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btn = e.Row.FindControl("Button1") as Button;
btn.Click += new EventHandler(btn_Click);
}
}
而GridView1_RowDataBound 是不行的.
{
if (!IsPostBack)
{
GridViewBind();
}
}你的意思是说虽然第一次加载了控件的委托事件,但是在点击按钮的时候先触发Page_Load,那个的时候我条件控制GriwView页面提交后就不加载了。
我只加载一次是为了保持跟更新数据后页面的更新,毕竟触发的更新的事件要比Page_Load晚
应该是这样吧!~~ 明白了~ 谢谢。
哎,前几天还问了个相似的呢,变了个脸又不知道了~~~