[转][ASP.NET]如何取得GridView中隱藏欄位的值?

無論是自己手寫資料來源去繫結GridView或是用SqlDataSource去繫結GridView,

不要在GridView的欄位屬性去設定 Column.Visible = false,

因為這樣會取不到隱藏之後的值!!!!

簡單的做法是在GridView的Row_Created事件中手寫程式來隱藏欄位,

這樣不但可以隱藏欄位而且也可以正常的取值!!!!!

這是因為Row_Create事件在DataBind( )之後,我們在Binding之後才隱藏所以可以取到值

(PS.不過要記得要取的值是在Row的第幾個Cell內,雖然看不到隱藏欄位,但是索引都是存在的!!!)

以下是簡單範例:

protected void GridView_RowCreated(object sender, GridViewRowEventArgs e)

{

if(e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.DataRow)

{

//要隱藏的欄位

e.Row.Cells[1].Visible = false;

}

}