我正在使用C#.net

我想向GridView1添加自定义编辑/删除按钮(每行一个编辑/删除按钮)。

但是我希望按钮访问另一个视图(同一表单内的editView / deleteView),而不是编辑“ inline”等。

编辑按钮似乎工作正常。这是我手动创建的方式:

Right clicked on GridView1
Clicked on ‘Add New Column’
Field Type: ButtonField
Header Text: Edit
Button Type: Button
Command Name: Edit
Text: Edit


在GridView1的“事件”部分(位于属性下)中,我双击了RowEditing,然后创建了一个事件,可以在后面的代码中访问该事件。

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        // Access _viewAdd

        _multiView1.ActiveViewIndex = 1;
   }


删除按钮应该访问deleteView(确认页面),而不仅仅是自动删除一行。我想创建一个自定义方法,该方法在用户选择删除按钮时触发。

最佳答案

我最终使用了中继器,并将编辑/删除按钮都修改到了每一行的末尾。这些按钮不仅保存OnClick_Event信息,还保存与该行关联的ID。

      <asp:Repeater ID="Repeater" runat="server" DataSourceID="*****">
        <HeaderTemplate>
          <table cellpadding="3" cellspacing="3">
            <tr>
              <th style="text-align:left">Name</th>
              <th>&nbsp;</th>
              <th>&nbsp;</th>
            </tr>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
              <td style="text-align:left"><%#Eval("forename")%>&nbsp;<%#Eval("surname")%></td>
              <td style="text-align:left"><asp:Button ID="edit" OnCommand="edit_Click" CommandArgument='<%#Eval("id")%>' runat="server" Text="Edit" CssClass="standardButton" /></td>
              <td style="text-align:left"><asp:Button ID="delete" OnCommand="delete_Click" CommandArgument='<%#Eval("id")%>' runat="server" Text="Delete" CssClass="standardButton" /></td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
          </table>
        </FooterTemplate>
      </asp:Repeater>


希望对其他人有帮助。

10-07 19:25
查看更多