Onclick-Ereigniss ?!? im Gridview

13/11/2008 - 20:41 von Sagri | Report spam
Hallo Freunde,
ich erstelle gerade eine Seite, mit der man Artikel bestellen kann.
Dazu habe ich eine Seite erstellt, die die Artikel aus der Datenbank
ausliest und in ein Dataset speichert.
Wie kann ich nun eine Tabelle erstellen, auf der die Zeilen anklickbar sind
und das Ereigniss serverseitig ausgeührt wird.
Also im Prinzip ein hyperlink der eine Funktion (z.B.
Artikelhinzufuegen(123)) aufruft.
Ich habe es auch mit dem Gridview probiert aber da lassen sich die Zeilen
nicht anklicken.

Ich habe schon 2 Tage in das Problem investiert (obwohl es trivial sein
müsste) und bin langsam verzweifelt.

Anfangs hat asp.net ja richtig spaß gemacht doch so langsam wirds mir
unsympathisch.
 

Lesen sie die antworten

#1 Thomas Bandt
13/11/2008 - 20:55 | Warnen spam
Sagri schrieb:
ich erstelle gerade eine Seite, mit der man Artikel bestellen kann.
Dazu habe ich eine Seite erstellt, die die Artikel aus der Datenbank
ausliest und in ein Dataset speichert.



DataSet ist inzwischen eigentlich reichlich überholt.
Linq to SQL dürfte reichlich mehr Spaß machen und ist
für den Einstieg auch recht leicht zu lernen.

Wie kann ich nun eine Tabelle erstellen, auf der die Zeilen anklickbar sind
und das Ereigniss serverseitig ausgeührt wird.
Also im Prinzip ein hyperlink der eine Funktion (z.B.
Artikelhinzufuegen(123)) aufruft.
Ich habe es auch mit dem Gridview probiert aber da lassen sich die Zeilen
nicht anklicken.



Du kannst ein beliebiges Listen-Control verwenden
(GridView, DataList, Repeater, ListView). In einem
ItemTemplate erstellst du dir einfach einen Button
oder einen LinkButton (nicht gut, da er nur mit
JavaScript funktioniert) und weist diesem ein
OnCommand-Ereignis zu:

<ItemTemplate>
<asp:Button id="BttnAddToCart" runat="server"
Text="Hinzufügen" OnCommand="AddToCart"
CommandArgument='<%# Eval("WertAusDatenbank" %>' />
</ItemTemplate>

CodeBehind:

protected void AddToCart(object sender, CommandEventArgs e)
{
/...
}

Über "e" kannst du dann auf das Argument, also z.B.
die ID des Artikels zugreifen.

Ich habe schon 2 Tage in das Problem investiert (obwohl es trivial sein
müsste) und bin langsam verzweifelt.

Anfangs hat asp.net ja richtig spaß gemacht doch so langsam wirds mir
unsympathisch.



Tja, das Klickibunti, mit dem Microsoft gerne
und oft die Werbetrimmel rührt, stößt halt schnell
an Grenzen.

Aber nicht aufgeben, wenn du mal drin bist wird's schnell
wieder mehr Spaß machen :-).

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Die ASP.NET-Profis aus Nürnberg

Ähnliche fragen