ASP.NET Gridview의 RowDataBound 이벤트에서 템플릿 필드의 레이블 값을 읽으려고합니다. RowUpdating 이벤트에서이 값을 캡처하는 것을 선호하지만, 어떤 이유로 인해 가능하지 않다는 것을 상기합니다. 여기에 모든 모든 도움을 주시면 감사하겠습니다 여기 gridview 템플릿 필드의 값을 캡처하는 방법
<asp:TemplateField HeaderText="Translation" ItemStyle-Width="250" >
<ItemTemplate>
<asp:Label ID="Label11" runat="server" Text='<%# Bind("lang_String") %>' Width="250px"></asp:Label>
</ItemTemplate>
내가 알아 내려고 노력하고있는 VB.net 코드가
....Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If (e.Row.RowState And DataControlRowState.Edit) > 0 Then
' The value in the third column postion.
Dim needThisValue as string = e.Row.Cells(3).Text
End If
End Sub
ASP는 ...입니다. 당신은 당신이 RowState=DataControlRowState.Edit
을 선택했기 때문에 라벨이 EditItemTemplate
에 있다고 생각하는 이유
덕분에,
글쎄, 내가 선택한 행이 편집 모드에 있었는지 확인해야합니다. 헤더 행이 절대로 존재하지 않을 것이므로 ... 다른 섹션에서 작동하며 변경해야하는지 검토해야합니다. 미리보기 주셔서 감사합니다, 지금 시험하겠습니다. 네, 이것은 재귀 루프가 아닙니다. 편집중인 행의 값만 필요합니다. – htm11h
RowUpdating 이벤트에서이 작업을 수행 할 수 있습니까? – htm11h
@ marc11h : 내 대답을 수정했습니다. RowUpdating에서 그리드의 업데이트 행을 얻으려면'Dim row = GridView1.Rows (e.RowIndex) '가 필요합니다. 그리고'FindControl'을 사용하여 콘트롤에 대한 참조를 얻을 수 있습니다. –