2013-11-28 4 views
0

xml 파일을 deserialize하고 데이터를 gridview에 바인딩했습니다. 하나의 열에는 텍스트로 표시된 URL 데이터가 있으며이 링크에 액세스 할 수 있도록 하이퍼 링크로 변경하려고합니다. Gridview 템플릿을 수동으로 편집하지 않고 어떻게해야합니까?열의 텍스트를 gridview에서 하이퍼 링크로 변환하는 방법

protected void Button1_Click(object sender, EventArgs e) 
    { 
     string searchTerm = TextBox1.Text; 
     string mediaTerm = DropDownList1.SelectedItem.ToString(); 
     var webRequest = (HttpWebRequest)WebRequest.Create("http://itunes.apple.com/search?term=" + Server.UrlEncode(searchTerm) + " &media=" + Server.UrlEncode(mediaTerm)); 

     var webResponse = (HttpWebResponse)webRequest.GetResponse(); 
     if (webResponse.StatusCode == HttpStatusCode.OK) 
     { 
      JavaScriptSerializer json = new JavaScriptSerializer(); 
      StreamReader sr = new StreamReader(webResponse.GetResponseStream()); 
      string resString = sr.ReadToEnd(); 

      SearchList list = json.Deserialize<SearchList>(resString); 

      GridView1.DataSource = list.results; 
      GridView1.DataBind(); 

     } 
     else 
     { 
      Label1.Text = "Invalid Response"; 
     } 
    } 
+0

어떻게 u는 바인딩 r에있는 gridview? ItemTemplates 사용하기 ??? –

+0

아니, 배열에서 온 것입니다. –

+0

다음 첫 번째 대답을 시도 .... 또는 디자인 측면에서 링크를 바인딩 ... 그게 더 쉬울 것입니다 .. –

답변

0

편집 RowDataBind 이벤트에 셀 텍스트 :

void GridView1_RowDataBound(Object sender, GridViewRowEvenArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 

     e.Row.Cells["UrlData"].Text = "<a href=\"" + e.Row.Cells["UrlData"].Text + "\>" + e.Row.Cells["UrlData"].Text + "</a>"; 

    } 

} 
+0

[ "UrlData"] 무엇입니까? 열의 위치는 번호입니까? –

+0

예, URL 데이터가있는 행 셀 색인입니다. –

+0

이유는 모르겠지만 작동하지 않습니다. 열이 여전히 텍스트에 있습니다 –

관련 문제