GridView에서 OnRowDeleting 이벤트와 함께 asp : Button을 연결하려고하는데 그 작업을 수행하는 방법을 알지 못합니다. X. 현재 CommandField를 사용하고 있습니다 만, 내 자신의 목적에 따라 대신 Button이 필요합니다. 누구든지 제발 도와 주실 래요?asp : OnRowDeleting 이벤트가있는 단추 사용
편집 :
나를 다시 설명하자, 나는 동일한있는 CommandField에서 삭제하고 편집 버튼이있는 행을 가지고있다. 내가 뭘 하려는지 특정 행에 대해서만 모든 행에 대한 일부 특정 경우에 '삭제'버튼을 숨기려고하는 것입니다. 그래서 CodeFind에서 참조 할 수없는 ID가 없기 때문에 CommandField에 어려움을 겪고있는 것입니다. 하지만 - asp : 버튼에는 ID가 있지만 UserAccounts_RowDeleting 기능과 링크 할 수 없습니다. 그리고 그것은 나의 질문입니다 - 그것을 연결하는 방법? :)
EDIT2 :
이 내 코드의 일부입니다 :
나는 내가 활성화/특정 행에 대해서만 코드 숨김 통해 비활성화 할 수 있습니다 ItemTemplate을 할 수있는 CommandField을 변경하려면<asp:GridView ID="UserAccounts" runat="server" AutoGenerateColumns="False" HeaderStyle-BackColor="#3AC0F2"
HeaderStyle-ForeColor="White" AutoGenerateDeleteButton="false"
RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AutoGenerateEditButton="false"
onrowcancelingedit="UserAccounts_RowCancelingEdit" RowStyle-ForeColor="#3A3A3A" OnRowEditing="UserAccounts_RowEditing"
PageSize="10" AllowPaging="false" onrowdeleting="UserAccounts_RowDeleting"
OnRowUpdating="UserAccounts_RowUpdating" OnRowDataBound="UserAccounts_RowDataBound" onrowcreated="UserAccounts_RowCreated">
<Columns>
<asp:CommandField ShowDeleteButton="true" ShowEditButton='true' ButtonType="Link" />
<asp:BoundField DataField="UserName" HeaderText="Username" ReadOnly="true"/>
<asp:BoundField DataField="Email" HeaderText="Email" />
<asp:CheckBoxField DataField="IsApproved" HeaderText="Approved?" ReadOnly="false"/>
<asp:CheckBoxField DataField="IsLockedOut" HeaderText="Locked Out?" ReadOnly="true"/>
<asp:CheckBoxField DataField="IsOnline" HeaderText="Online?" ReadOnly="true"/>
<asp:BoundField DataField="Comment" HeaderText="Comment" NullDisplayText="N/A"/>
<asp:TemplateField HeaderText="Select" >
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
//Codebehind c#
protected void UserAccounts_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if (Funcs.GetAdminLevel() >= 999)
{
username = UserAccounts.Rows[e.RowIndex].Cells[1].Text;
if (username.ToLower().Equals(HttpContext.Current.User.Identity.Name.ToLower()))
ActionStatus.Text = string.Format("ERROR: You can't delete your own account ('<font color=#000000><b>{0}</b></font>')!", username);
else if (Funcs.GetAdminLevel(username) >= 1)
ActionStatus.Text = string.Format("ERROR: You can't delete administrators' accounts ('<font color=#000000><b>{0}</b></font>')!", username);
else
{
Roles.RemoveUserFromRoles(username, Roles.GetRolesForUser(username));
Membership.DeleteUser(username);
ActionStatus.Text = string.Format("User '<font color=#000000><b>{0}</b></font>' has been successfully deleted!", username);
BindUserAccounts();
}
}
else
ActionStatus.Text = "You are not authorized to delete user accounts!";
}
. 또한 ItemTemplate을 asp : Button으로 UserAccounts_RowDeleting 이벤트를 사용하려면 내 문제가있는 곳에서 버튼을 이벤트에 연결하는 방법을 모르겠습니다.
일부 코드를 게시 할 수 있습니까? – causita
일부 코드가있는 내 게시물을 편집했습니다 – Aradmey