2011-05-02 2 views
2

나는 링크 URL과 각각의 표시 텍스트가있는 데이터베이스를 가지고 있습니다. 그들의 표시 문자열이 gridview에 표시되기 전에 그들이 고장 났는지 아닌지 확인해야합니다.표시하기 전에 SqlDatasource 프로세스 레코드

SqlDatasource을 사용하고 있습니다. SqlDataSource을 사용하는 동안 레코드를 처리하고 사용자 정의 HTML 마크 업을 사용하는 방법이 있습니까?

SqlDatasourceOnSelected 이벤트를 사용하려고하지만 사용법을 알 수 없습니다.

+0

선택한 이벤트가 있지만 ASP에 익숙하지 않으므로 문서 전문 용어를 얻지 못했습니다 – nikhil

+0

"선택된 이벤트"란 무엇을 의미합니까? 질문을 편집하고 당신이하려는 것을 정확히 설명하고, 시도한 것과 시도하지 못한 것을 설명해 주시겠습니까? – Oded

+0

내가 무슨 뜻인지 알 겠어.하지만 어떻게 해야할지 모르겠다. 가장 가까운 것은 SqlDataSource1_Selected (개체 보낸 사람, SqlDataSourceStatusEventArgs e)를 사용했지만이 메서드 내부의 데이터 행을 얻는 방법을 모른다. – nikhil

답변

0

당신이하려는 것은 하이퍼 링크가 데이터 그리드에 들어가기 전에 유효한지 확인하는 것입니다. 이렇게하려면 그리드의 RowDataBound 이벤트에 가입해야합니다. 거기에서 코드를 실행하여 URL을 평가할 수 있습니다.

protected void selectedBookList_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if ((e.Row != null) && (e.Row.RowType == DataControlRowType.DataRow)) 
    { 
     string test = DataBinder.Eval(e.Row.DataItem, "URL").ToString(); 

     if (test.Length == 0) 
     { 
      e.Row.Cells[3].Visible = false; 
     } 
     else 
     { 
      e.Row.Cells[3].Visible = true; 
     } 
    } 
} 

대신 길이가 0입니다 확인하는 테스트, 당신은 링크가 있는지 확인할 수 있습니다 : 여기에 URL 필드가 빈 문자열이 아닌 것을 확인하기 위해 체크하는 간단한 예제입니다 죽었 든 안 했든. 평가를 마치면 여기에서했던 것처럼 셀을 숨기거나 링크를 수정하거나 일반 링크를 넣을 수 있습니다.

+0

감사합니다. – nikhil

관련 문제