问题描述
你好,
我正在使用Membership.DeleteUser(User.Identity.Name);从我的数据库中删除成员。我正在使用Gridview来显示多个成员及其角色。我遇到的问题是每当我点击由以下内容激活的删除按钮时:OnRowDeleting =gvwUsers_RowDeleting方法...它删除我登录的成员,而不是我在Gridview中选择的成员。如何更改代码以删除我在Gridview中选择的成员,该成员在我要删除的成员的同一列中具有删除按钮而不是我已登录的成员?
我尝试了什么:
Hello,
I'm using the Membership.DeleteUser(User.Identity.Name); to delete a member from my database. I'm using a Gridview to display multiple members and their roles. The issue I'm having is whenever I click the delete button which is activated by a: OnRowDeleting="gvwUsers_RowDeleting" method... It deletes the member that I'm signed in as, NOT the member I selected in the Gridview. How do I change the code to delete the member I select in the Gridview that has a delete button in the same column of the member I'm trying to delete instead of the member I'm signed in as?
What I have tried:
<asp:GridView ID="gridUserAccounts" runat="server" CssClass="GridMain" AutoGenerateColumns="False" DataSourceID="UserAccounts_DS"
AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" GridLines="None" OnRowDeleting="gvwUsers_RowDeleting">
<alternatingrowstyle backcolor="#ffffff" />
<rowstyle cssclass="GridRow" />
<HeaderStyle CssClass="GridHeader" />
<footerstyle cssclass="GridHeader" />
<pagerstyle forecolor="#ffffff" backcolor="#003366" />
<columns>
<asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName"/>
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
<asp:BoundField DataField="RoleName" HeaderText="RoleName" SortExpression="RoleName" />
</columns>
背后的代码:
CODE BEHIND:
protected void gvwUsers_RowDeleting(object sender, EventArgs e)
{
Membership.DeleteUser(User.Identity.Name, true);
}
任何帮助都将受到赞赏..
Any help would be appreciated..
推荐答案
<asp:GridView ... DataKeyNames="UserName">
然后使用 []。 microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdeleting%28v=vs.110%29.aspx\">RowDeleting事件处理程序 [ ^ ]:
Then use the correct EventArgs type[^] for the RowDeleting event handler[^]:
protected void gvwUsers_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
...
}
然后,您将能够检索要删除的行的密钥,并将其传递给 DeleteUser
方法:
Then, you will be able to retrieve the key of the row being deleted, and pass that to the DeleteUser
method:
protected void gvwUsers_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string userToDelete = (string)e.Keys["UserName"];
Membership.DeleteUser(userToDelete, true);
}
这篇关于尝试使用membership.deleteuser(user.identity.name)从数据库中删除成员;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!