2013-03-13 5 views
0

나는 행을 삭제하고 편집 할 수있는 gridview가 있습니다. gridview에 대한 html 코드가 있습니다.각 행의 gridview 내부에있는 버튼을 삭제하십시오.

<asp:GridView ID="gvList" runat="server"> 
<Columns> 

<asp:TemplateField HeaderText="Actions" HeaderStyle-ForeColor="black" HeaderStyle-Font-Bold="true"> 
<ItemTemplate> 
<asp:Button ID="btnedit" runat="server" Text="Edit" /> 
<asp:Button CommandArgument='<%# Eval("cUserName")%>' ID="btnDelete" OnClick="DeleteRow" runat="server" Text="Delete" /> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 

commandargument를 사용하여 삭제 및 편집 버튼을 활성화해야합니다. 나는 commandargument를 충분히 이해하지 못했고 나는 이것을 더 잘 수행 할 수있는 다른 방법이 있다고 생각한다. btnAdd.CommandArgument가 올바른지 아닌지

Public Function DelRow() As DataTable 

Dim Btn As ImageButton = CType(sender, ImageButton) 


    Dim Query As String = "Delete FROM Intranet.dbo.Gn_ISCoordinators where cUserName=" & Btn.CommandArgument 
    Dim dt As DataTable = New DataTable() 
' 
'I need to complete this 
'... 
' 
End Using 
End Function 

또한, 난 알고 싶어 : 어쨌든, 나는 비주얼 베이직 서버 측에서이 코드가 있습니다. Ps : 보낸 사람의 CType (보낸 사람, ImageButton)에 오류가 있습니다.

+0

인라인 쿼리를 사용하지 마십시오. –

답변

1

asp:Button는 다음 줄을 사용하여 캐스팅해야합니다

Dim Btn As ImageButton = CType(sender, Button) 

ImageButton로하지 Button으로.

둘째, Btn.CommandArgument에서 사용자 이름을 얻을 수 있지만 CommandArgument을 SQL 쿼리와 연결하면 좋은 생각이 아닙니다. 저장 프로 시저 또는 일부 ORM 프레임 워크가 적어도 매개 변수가있는 쿼리를 사용해보십시오. 다음을 사용하여 데이터베이스에 연결하고 쿼리를 실행하십시오.

추신 : - 내 VB.Net은 잘 소박합니다. 또한 데이터베이스에 대해 코드를 실행할 때 예외가 발생할 수 있으므로주의하십시오. 따라서 예외 처리 등을 사용하십시오.