2012-10-09 69 views
2

我有GridView控件具有的DataKeyNames在GridView控件

DataKeyNames="FilterId,ItemId" 

field.How我可以在這兩個領域的每個值

gdv_RowEditing 

event.i試圖

protected void gdv_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
    string a = gdv.DataKeys[e.NewEditIndex].Value[0].ToString(); 
    string b = gdv.DataKeys[e.NewEditIndex].Value[1].ToString(); 
    } 

但顯示錯誤,如

'cannot apply indexing with [] to an expression of type object' 
+0

什麼錯誤? – naveen

+0

無法將[]的索引應用於對象類型的表達式 – ranjenanil

回答

1

試試這個

IOrderedDictionary datakeyNames = gdv.DataKeys[0].Values; 
string a = datakeyNames["FilterId"].ToString(); 
string b = datakeyNames["ItemId"].ToString(); 

請注意,你必須輸入System.Collections.Specialized

1

此錯誤的原因是因爲您使用

gdv.DataKeys[e.NewEditIndex].Value[0].ToString(); 

這裏的價值爲對象的類型,所以你不能索引上目的。

獲取數據鍵值使用價值,而不是像這樣

gdv.DataKeys[e.NewEditIndex].Values[0].ToString(); 

希望這有助於價值..