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

来源:互联网 发布:alphago 算法是什么 编辑:程序博客网 时间:2024/06/05 10:17

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;
        }
    }
谁知道是怎么回事?帮帮我,整一天了,到现在还没解决.快郁闷死了.

原创粉丝点击