gridview中buttonfield客户端事件与后台事件问题

zhoujianfan 2008-07-03 12:50:46
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="3" OnRowCommand="GridView1_RowCommand" OnRowDataBound="GridView1_RowDataBound" >
<Columns>
<asp:ButtonField ButtonType="Button" CommandName="del" Text="刪除" />
</Columns>

</asp:GridView>

在后台本意是给他添加了一个前台事件 myButton.Attributes.Add("onclick","return del()");

结果前台事件是执行了,但后台事件不执行了
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "del")
{
Response.Write("<script>alert('" + e.CommandArgument.ToString() +"')</script>");
}
}

为什么?根本就不执行这个事件了

...全文
812 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangjie115 2011-06-05
  • 打赏
  • 举报
回复
把onclick改成onClientClick试试呢
superplayboy 2008-07-03
  • 打赏
  • 举报
回复
在gridview的RowDataBound事件获得模板列里的控件
Button myButton = e.Row.FindControl("ButtonName") as Button;
myButton.Attributes.Add("onclick","return confirm('是否真的删除?');");
superplayboy 2008-07-03
  • 打赏
  • 举报
回复
myButton.Attributes.Add("onclick","return confirm('是否真的删除?');");


protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "del")
{
//执行删除操作
}
}
zhoujianfan 2008-07-03
  • 打赏
  • 举报
回复
另如果我将这个button转成模板列后,在后台怎样取出这个对像
Button myButton = (Button)GridView1.FindControl("ButtonName"); ??
superplayboy 2008-07-03
  • 打赏
  • 举报
回复
用模版列吧
zhoujianfan 2008-07-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhoujianfan 的回复:]
myButton.Attributes.Add("onclick","return confirm('是否真的删除?');");

这样不是不行
我在protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 这里设了断点,根本没有执行到这来
[/Quote]

打错了,是这样还是不行

TableCellCollection myCells = e.Row.Cells;
Button myButton = (Button)myCells[0].Controls[0];
myButton.Attributes.Add("OnClick", "return confirm('是否真的刪除?');");

zhoujianfan 2008-07-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 superplayboy 的回复:]
在gridview的RowDataBound事件获得模板列里的控件
Button myButton = e.Row.FindControl("ButtonName") as Button;
myButton.Attributes.Add("onclick","return confirm('是否真的删除?');");
[/Quote]

晕 ,如果转成模板列就正常

zhoujianfan 2008-07-03
  • 打赏
  • 举报
回复
myButton.Attributes.Add("onclick","return confirm('是否真的删除?');");

这样不是不行
我在protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 这里设了断点,根本没有执行到这来


62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧