2017-12-17 213 views
0

クリック可能なリンクフィールドを自分のgridview内に動的に追加しようとしています。私のコードはasp.netのgridview内にクリック可能なHyperLinkFieldを動的に追加する方法

while (rdr.Read()) 
     { 
      DataRow dr = dtTutorial.NewRow(); 
      dr["Topic"] = rdr["Topic"]; 
      dr["Description"] = rdr["Description"]; 
      HyperLinkField h = new HyperLinkField(); 
      h.HeaderText = "Visit"; 
      h.NavigateUrl = "Details.aspx"; 
      h.DataTextField = rdr["link"].ToString(); 

      dr["Link"] = h; 
      dtTutorial.Rows.Add(dr); 
     } 

あるしかし、私はこのページを実行していたときに、私が提出されたクリッカブルを取得しておりません。どうすればこの問題を解決できますか?

+0

グリッドビューのRow_DataBoundイベントにハイパーリンクを追加するコードを入れてください。 – Srikanth

答えて

1

私は解決策を考え出しました。コードはここに指定されています

while (rdr.Read()) 
     { 
      DataRow dr = dtTutorial.NewRow(); 
      dr["Topic"] = rdr["Topic"]; 
      dr["Description"] = rdr["Description"]; 
      dr["Visit"] = rdr["id"]; 
      dtTutorial.Rows.Add(dr); 
     } 
     con.Close(); 
    } 
    GridView1.DataSource = dtTutorial; 
    GridView1.DataBind(); 
    foreach (GridViewRow gr in GridView1.Rows) 
    { 
     HyperLink hp = new HyperLink(); 
     hp.Text = "Click here"; 
     hp.NavigateUrl = "~/Details.aspx?id=" + gr.Cells[2].Text; 
     gr.Cells[2].Controls.Add(hp); 
    } 
関連する問題