2012-04-03 2 views
0

Ich habe eine GridView auf einer ASPX-Seite mit einer ausgeblendeten Spalte, die einen ID-Wert hat. Wenn der Benutzer auf eine bestimmte Zeile klickt, benötige ich den ID-Spaltenwert für den C# -Code, damit ich die Datenbank abfragen und eine andere Ansicht mit Daten füllen kann, die dieser ID entsprechen. Mein Problem ist, dass ich diesen ID-Wert an eine JavaScript-Funktion im onClick-Ereignis der Zeile übergeben kann, aber wie bekomme ich es an den Code hinter, wo ich tatsächlich die SQL Server-Datenbank abfragen kann?Wie sende ich einen ID-Wert von einem GridView an die Datenbank?

+0

uns bitte sagen, welche Technologie-Stack Ihre Verwendung und auch Ihren vorhandenen Code zeigen. –

+0

Ich bin mir nicht sicher, welcher Code angezeigt werden soll, es ist nur eine einfache Rasteransicht. Ich habe die Antwort bearbeitet, um einige Technologien hinzuzufügen. – neuDev33

Antwort

0

Dies ist, wie ich es gelöst -

bekam die ausgewählte Zeilenindex mit - e.Row.Attributes [ "Onclick"] = ClientScript.GetPostBackClientHyperlink (this.GridView2, "Wählen Sie $" + e.Row.RowIndex);

Im SelectedIndexChanged-Ereignis des Grid - GridView2.SelectedRowStyle.BackColor = System.Drawing.Color.LightGray; Zeichenfolge id = GridView2.SelectedRow.Cells [0] .Text;

Wo, Zellen [0] war Spalte meiner versteckt, die den Wert ID enthält

0

Hier ist, was ich vorschlagen würde basierend auf den Informationen, die Sie bereitgestellt haben.

Nur um zu klären, haben Sie gesagt, dass „wenn der Benutzer auf eine bestimmte Reihe klickt, können Sie die ID Spalte Wert wollen ...“. Ist das korrekt oder wolltest du sagen, dass du den Zeilenwert haben wolltest?

In jedem Fall gelten die gleichen Grundregeln.

Hier ist ein Beispiel aus CodeProject, das skizziert, was Sie tun müssen.

http://www.codeproject.com/Articles/50080/Extended-ASP-NET-GridView-with-cell-click-events

1

Sie können die DataKeyNames Eigenschaft des Datagrid-Steuerelement verwenden, um die Spalte unter Angabe der ID enthält

<asp:gridview 
id="grvTest" 
autogeneratecolumns="true" 
datakeynames="ID" 
runat="server"> 

// den Wert der ausgewählten Zeile erhalten

void grvTest_SelectedIndexChanged(object sender, EventArgs e) 

{

// Determine the index of the selected row. 
int index = CustomersGridView.SelectedIndex; 


//Display the primary key value of the selected row. 
Message.Text = "The key value of the selected row is " + 
    grvTest.DataKeys[index].Value.ToString(); 

}

+0

yup ... das ist so ziemlich alles – beauXjames

Verwandte Themen