gridview模板列里,按钮不能触发rowcommand

gridview模板列里,按钮不能触发rowcommand .

百度和谷歌了很久都没找到答案.

源码如下:

前台页面:

<asp:GridView ID="gvResumeList" runat="server" AutoGenerateColumns="False" Width="100%" OnRowCommand="gvResumeList_RowCommand" DataKeyNames="Id" ShowFooter="True">
   <Columns>
    <asp:BoundField DataField="Id" HeaderText="简历编号" />
    <asp:BoundField DataField="ResumeName" HeaderText="简历名称" />
    <asp:BoundField DataField="BuildTime" HeaderText="最后修改时间" />
    <asp:TemplateField HeaderText="设置默认简历">
     <ItemTemplate>
      <asp:CheckBox ID="cbDefaultResume" runat="server" Checked='<%# Eval("DefaultResume") %>' Enabled="False" />
      <asp:Button ID="btnDefault" runat="server"
       CommandArgument='<%# DataBinder.Eval(Container.DataItem,"Id")%>'
       CommandName="defaultResume"
        Text='<%# (bool)Eval("DefaultResume")==true?"取消默认简历":"设置为默认简历" %>' />
      <br />
     </ItemTemplate>
     <FooterTemplate>
      <asp:HyperLink ID="hlAddResume" runat="server" NavigateUrl="~/add_resume.aspx">添加新简历</asp:HyperLink>
     </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="设置公开简历">
     <ItemTemplate>
      <asp:CheckBox ID="cbGongkai" runat="server" Checked='<%# Eval("gongkai") %>' Enabled="False" />
      <asp:Button ID="btnGongkai" runat="server" CommandName="gongKaiJianLi"
      Text='<%# (bool)Eval("gongkai")==true?"取消公开简历":"设置为公开简历" %>' />
     </ItemTemplate>
    </asp:TemplateField>
    <asp:HyperLinkField DataNavigateUrlFields="Id" Target="_blank" DataNavigateUrlFormatString="resume_page.aspx?Id={0}"
     HeaderText="修改简历" Text="修改" />
    <asp:HyperLinkField DataNavigateUrlFields="Id" Target="_blank" DataNavigateUrlFormatString="details_person.aspx?Id={0}"
     HeaderText="预览" Text="预览" />
    <asp:ButtonField ButtonType="Button" CommandName="deleteResume" HeaderText="删除简历"
     Text="删除此简历" />
   </Columns>
  </asp:GridView>
后台代码,只为了测试用而随便加的.在swich处加断点测试时发现,模板列里按钮竟然是绕过去的.

buttonfield则会执行.

protected void gvResumeList_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        switch (e.CommandName)
        {
            case "defaultResume":
                {
                    Response.Write("<script>alert('测试')</script>");
                    break;
                }
            case "gongKaiJianLi":
                {
                    Response.Write("<script>alert('测试')</script>");
                    break;
                }
            case "deleteResume":
                {
                    Response.Write("<script>alert('测试')</script>");
                    break;
                }
            default:
                break;
        }
    }
谁知道是怎么回事?帮帮我,整一天了,到现在还没解决.快郁闷死了.

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值