2014-01-07 4 views
0

GridView에 설정된 학생 ID를 저장하고 싶습니다. 개체 이름이 "am"인 모델을 통해 각 행 학생 ID를 테이블에 저장하려고합니다.그리드 뷰 값 가져 오기

for (int i = 0; i < GridView1.Rows.Count; i++) 
{    
    am.Std_ID= GridView1.Rows[i]["Std_ID"]; 
} 

위의 방법을 사용하면 GridView에서 색인 생성을 사용할 수 없다고 말합니다. 어떻게해야합니까?

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" > 
    <Columns> 
     <asp:BoundField DataField="FullName" HeaderText="Student Names"/> 
     <asp:TemplateField ItemStyle-HorizontalAlign = "Center"> 
      <ItemTemplate> 
       <asp:TextBox runat="server" ID="marks" Width="30px" ></asp:TextBox> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

내 두 번째 질문은 ItemTemplate에 있습니다. 텍스트 상자를 사용하고 있습니다. 함수에서 ID를 사용하면 Visual Studio는 "현재 컨텍스트에 표시가 없습니다"라고 말합니다. 어떻게해야합니까?

+0

요구 사항이 명확하지 않습니다 ..! –

+1

'HiddenField'를 사용하여'Std_ID'를 저장할 수 있습니다. 그런 다음 당신은 루프를 통해'((HiddenField) GridView1.Rows [i] .FindControl ("HiddenFieldID")) .Value' –

답변

0

이 존재하지 않습니다 - 당신은 이런 식으로 그리드에 바인딩 된 데이터에 액세스하지 않는

GridView1.Rows[i]["Std_ID"]; 

; DataItem 속성을 참조해야합니다. 귀하의 요구 사항은 매우 일반적이다 그러나

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewrow.dataitem(v=vs.110).aspx

, 당신은 당신의 ID를 저장하기 위해 ItemTemplate을에에 HiddenField 컨트롤을 추가하고, 서버 측 방법 제어 (따라서 그 값을) 검색 할 수 있습니다.