2011-08-12 8 views
0

GridViewからListViewにコントロールを切り替える処理中ですが、新しいListViews DataKeysへのアクセスが停止しています。ListView DataKeysが設定/合格していません

<asp:ListView ID="lvOrderItems" runat="server" 
    DataSourceID="odsShoppingCart" 
    DataKeyNames="ProductNumber" 
    ItemPlaceholderID="lvItemContainer"> 

を今、をPage_Loadに私はいくつかの計算を行う必要があり、各ListView行のProductNumberを必要とする次のように私のリストビューがセットアップされています。

For Each row As ListViewDataItem In lvOrderItems.Items 
    ' Get the row id 
    Dim id As String = Convert.ToString(lvOrderItems.DataKeys(row.DisplayIndex).Value) 
    Response.Write("rowId=" & id) 
Next 

そして、私は2つの行している私のListViewのための次のような出力を得る:ここで私はListViewをループしています方法ですのでとき、私はこれを持っていたことを、心の中で

rowId=rowId= 

を維持しますGridViewこれは問題なく動作していたし、私のページのデータソースに直接バインドされているListView行ラベルは、データをきちんとプルするので、ProductNumberを含むデータがそこにある。

何か問題が起こっている?

答えて

1

このショットを投稿してください。これは、C#でだが、VB.NET以下VB呼び出し使用して動作しませんでした残念ながら

string productName = (string)lvOrderItems.DataKeys[row.DisplayIndex]["ProductNumber"]; 
+0

に上のポートに十分に簡単なはず:(文字列= Convert.ToString(lvOrderItems.DataKeysとして '薄暗いIDをrow.DisplayIndex )( "ProductName")) ' –

+0

"ProductName"ではなく "ProductNumber"に変更してください。詳細については、編集済みの記事を参照してください。 –

+0

それは、ありがとう! –

関連する問題