2017-12-12 23 views
0

가에서 개발 된 데이터 (asp.net)를 얻을 hyperlinkfield 수 없습니다.

protected void soGrid2_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     using (Action act = new Action()) 
     { 
      if (e.Row.RowType == DataControlRowType.DataRow) 
      { 

       string idNum= e.Row.Cells[2].Text; 
      } 
     } 
    } 

상기와 같다. 그러나 내가 HyperLinkField를 주석 처리 된 코드와 같이 사용하면 데이터가 잘 표시되지만 rowDataBound에서 데이터를 가져올 수 없습니다. 왜이 사람이 누군지 압니까? 하이퍼 링크 필드로 만드는 방법? 당신이 그것을 사용했기 때문에 내가 e.Row.Cells[2]을 사용했습니다

protected void soGrid2_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     var idNumLink = (HyperLink) e.Row.Cells[2].Controls[0]; 
     string idNum= idNumLink.Text; 
    } 
} 

참고 :

+0

'.Text' 속성은 텍스트를 셀에 직접 가져옵니다. HyperLinkField에서 가져 오려면 셀 내의 컨트롤에 액세스해야합니다. – mason

+0

이'Action' 클래스는 무엇입니까? 그리드 (머리글과 바닥 글)의 모든 행에 대해 초기화하는 이유는 무엇입니까? –

+0

@TimSchmelter 오, 나는 실제로 행동 수업에서 또 다른 방법을 가지고있다. 질문의 요점이 아니기 때문에 나는 여기에 적지 않았다. –

답변

0

내가 올바르게 HyperlinkField 곳이 셀에 HyperLink control을 기억합니다. 그러나 샘플에서는 두 번째 열이므로 e.Row.Cells[1]을 사용해야합니다.

+0

시도합니다. 감사. –

+0

아, 셀에 [i] e.Row.Cells [2]가 사용되었으므로 편집 및 삭제 버튼이 자동으로 생성됩니다. 어떤 방법으로, 그것은 일한다!! Thankss !!!! –