我正在使用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> </th>
<th> </th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="text-align:left"><%#Eval("forename")%> <%#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>
希望对其他人有帮助。