2012-04-18 5 views
0

하이퍼 링크 필드의 탐색 URL에 추가하려고합니다.하이퍼 링크 필드의 탐색 URL에 추가하는 동안 오류가 발생했습니다.

나는 마지막으로 내가 어제 작업했다 그것을

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound 

    Dim hk As HyperLink = DirectCast(e.Row.Cells(4).Controls(0), HyperLink) 
    hk.NavigateUrl += "&TN=table1" 

End Sub 

에 추가

<asp:HyperLinkField DataNavigateUrlFields="vID" 
      DataNavigateUrlFormatString="Page2.aspx?field={0}" HeaderText="send" 
      Text="send"></asp:HyperLinkField> 

뒤에 코드가되는, 내있는 gridview에 5 열을 가지고 있지만, 코드를 삭제 실수가 있어야합니다 여기에서 어디서 잘못되고 있는지 알 수 없으므로 "지정된 인수가 유효한 값 범위를 벗어났습니다. 매개 변수 이름 : 인덱스"

답변

1

RowType을 확인하십시오. 그렇지 않으면 헤더에 HyperLink도 있습니다.

VB

Protected Sub GridView1_RowDataBound(sender As Object, e As GridViewRowEventArgs) 
    If e.Row.RowType = DataControlRowType.DataRow Then 
     Dim link = DirectCast(e.Row.Cells(4).Controls(0), HyperLink) 
     link.NavigateUrl &= "&TN=table1" 
    End If 
End Sub 

C#을

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     HyperLink link = (HyperLink)e.Row.Cells[4].Controls[0]; 
     link.NavigateUrl += "&TN=table1"; 
    { 
} 
+0

그것을했다, 당신을 감사드립니다. – user1162628

관련 문제