请教关于GridView中LinkButton刷新的问题

demoqfeng 2012-03-10 12:28:07
在一个gridview中,
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False"
Width="100%" OnRowCreated="gv_RowCreated" OnRowDataBound="gv_RowDataBound"
DataKeyNames="LS_NO" OnRowCommand="gv_RowCommand">
有个模板列如下

<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="lbtnDelete" runat="server" Text="删除" CommandArgument='<%#Eval("LNO") %>'
CommandName="Del" OnClientClick="return confirm('确认要删除吗?');">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>


后台cs代码中


protected void Page_Load(object sender, EventArgs e)
{
BindGv();//绑定Gridview数据
}
protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Del")
{
根据首列id获取用linq获取对象做删除操作,并SubmitChanges
BindGv();
}
}


gridview 里面有10行数据,第一次点击某一行删除按钮的时候有触发 RowCommand事件,点击删除后执行顺序是先page_load,然后再gv_RowCommand,页面还剩9行,查后台数据库发现该数据被正确删除,此时再点击另外一行的删除按钮,跟踪发现cs只执行了page_load,而没有执行gv_RowCommand,同时页面还剩下9行,后台数据库这行数据也没有被删除,请问是什么原因?
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZPPSSJ 2013-01-10
  • 打赏
  • 举报
回复
引用 2 楼 ZPPSSJ 的回复:
你一定要用LinkButton吗? 用 <asp:CommandField ShowDeleteButton="True" HeaderText="删除" /> protected void GridView _RowDeleting(object sender, GridViewDeleteEventArgs e){ //删除 } 不行么?? ……
你要用LinkButton 也行的 protected void GridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { LinkButton lb = GridView.Rows[e.RowIndex].FindControl("lbtnDelete") as LinkButton; string LNO= lb.CommandArgument.ToString(); }
ZPPSSJ 2013-01-10
  • 打赏
  • 举报
回复
你一定要用LinkButton吗? 用 <asp:CommandField ShowDeleteButton="True" HeaderText="删除" /> protected void GridView _RowDeleting(object sender, GridViewDeleteEventArgs e){ //删除 } 不行么??
demoqfeng 2012-03-10
  • 打赏
  • 举报
回复
请高手指点一下吧

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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