2009-06-26 6 views

Antwort

1

Ich würde stattdessen ein asp: CommandField oder asp: ButtonField verwenden und ButtonType = Link verwenden - das sieht genauso aus wie Ihr linkfield, und dann können Sie das OnRowCommand-Ereignis in Ihrem Grid verarbeiten, um Ihren Code auszuführen.

+0

ja du hast Recht, keine Notwendigkeit, eine Template-Spalte hinzuzufügen (wie meine Antwort), diese ist sehr einfach :) – Canavar

1

ein Asp verwenden: Statt Linkbutton. Es sei denn, es gibt einen bestimmten Grund, warum Sie an die Asp angeschlossen sind: Hyperlink?

+0

Nein, kein Grund, nur nicht wollte, dass es aussehen ein Knopf. Vielen Dank. – Matt

0

Warum nicht stattdessen ein ButtonField verwenden und den ButtonType property auf einen Link setzen? Es wird genau wie ein Hyperlink aussehen.

1

HyperLinkField wird zum Generieren einfacher Hyperlinks in datengebundenen Steuerelementen verwendet. Stattdessen können Sie ButtonField verwenden. Oder Sie können Ihren eigenen Link mit TemplateField definieren. Hier

ist ein Beispiel der Erzeugung von Link-Säule, die ein Server-Side-Event hat:

<asp:templatefield headertext="Link Column"> 
    <itemtemplate> 
     <asp:LinkButton ID="myLink" 
      CommandName="MyLinkCommand" 
      CommandArgument='<%#Bind("TableID") %>' 
      runat="server">My Link</asp:LinkButton> 
    </itemtemplate> 
</asp:templatefield> 

An Code hinter:

protected void YouGridView_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "MyLinkCommand") 
    { 
     // Do stuff 
    } 
}