2016-07-22 4 views
-1

Ich habe eine Gridview mit 2 Datenschlüsseln. Gridview ist wie folgt definiert:"kein Standardmember für den Typ Integer" Fehler beim Zugriff auf mehrere Gridkeys

<asp:GridView ID="grid1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID1, ID2" > 
<Columns> 
<asp:BoundField HeaderText="" DataField="ID1" Visible="false"> </asp:BoundField>  
<asp:BoundField HeaderText="" DataField="ID2" Visible="false"> </asp:BoundField>      
<asp:BoundField HeaderText="Full Name" DataField="fullname" ItemStyle-Width="200px"> 
<HeaderStyle Width="350px" /> </asp:BoundField> 
<asp:ButtonField ButtonType="button" ControlStyle-CssClass="btn" ControlStyle-Width="30px" CommandName="Select" 
HeaderText="" Text="+" ItemStyle-Width="30px" /> 
</Columns> 

Dann im Code VB hinter ich einen Unter haben die gridview Befehl zu handhaben:

Protected Sub grid1_RowCommand(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grid1.RowCommand 
    Dim currentCommand As String = e.CommandName 
    If currentCommand = "Select" Then 
     Dim currentRowIndex As Integer = Int32.Parse(e.CommandArgument.ToString()) 
     Dim id1 As Integer = grid1.DataKeys(currentRowIndex).Value("ID1") 
     Dim id2 As Integer = grid1.DataKeys(currentRowIndex).Value("ID2") 
     '***call another sub with these IDs*** 
    End If 
End Sub 

Wenn ich versuche, läuft das ich ein " Es wurde kein Standardelement für den Typ "Integer" -Fehler gefunden, wobei der Code an der Dim-ID1 .... -Zeile bricht.

Ich habe auch versucht, auf die multiple Datakeys als (0) und (1) zu verweisen, aber das gleiche Problem zu bekommen.

Fehle ich etwas wirklich offensichtlich hier?

Antwort

1

Schülerfehler! Sollte gewesen ...

Dim id1 As Integer = grid1.DataKeys(currentRowIndex).Values("ID1") 
    Dim id2 As Integer = grid1.DataKeys(currentRowIndex).Values("ID2") 

heißt Wert s statt Wert!

Verwandte Themen