2017-03-14 26 views
1

我有一個gridview複選框在第一列,我需要得到所選行的行部分的html。什麼是做這件事的好方法?如何獲取Gridview中選定行的HTML部分?

下面的部分邏輯需​​要獲得選定的行html。

foreach (GridViewRow row in GridView1.Rows) 
{ 
    if (!(row.FindControl("CheckBox1") as CheckBox).Checked) 
    { 
     //logic required here 
    } 
} 
+1

你是什麼意思的HTML部分? – VDWWD

+0

行的Html值,如 ... –

+0

請問爲什麼你應該需要,如果複選框沒有選中?如果你詳細說明你打算如何使用它,我們可能會提供一個不同的解決方案。 – VDWWD

回答

3

您可以使用此片段在GridView OnRowDataBound事件中以HTML格式獲取該行。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     CheckBox cb = e.Row.FindControl("CheckBox1") as CheckBox; 

     if (cb.Checked == true) 
     { 
      TableRow row = e.Row; 

      StringWriter sw = new StringWriter(); 
      HtmlTextWriter htw = new HtmlTextWriter(sw); 
      row.RenderControl(htw); 

      string rowContents = sw.ToString(); 
     } 
    } 
} 
+0

這確實得到了像我一直在尋找的行的html競爭,但我也必須獲得標題值。你有什麼線索在這種情況下如何獲得gridview的標題部分? –

+1

是的,你可以使用'DataControlRowType.Header'來檢查這行是否是標題行,如果是這樣,就和上面代碼片段中複選框被選中時一樣。 – VDWWD

+0

是的,這也有幫助,但我在開始之前使用了GridviewName.HeaderRow.RenderControl(htw)。謝謝您的幫助 –

相關問題