2011-01-15 4 views
0
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand 
     For Each myRow As GridViewRow In GridView1.Rows 
      'Find the checkbox 
      Dim lab5 As Label = DirectCast(myRow.FindControl("Label5"), Label) 
      If e.CommandName = "feedback" Then 
       Me.Response.Redirect("~/view_feedback.aspx?" & "serv_code=" & lab5.Text.ToString) 
      End If 
     Next 
    End Sub 

ERRORwhatz der Fehler in diesem Befehl gridview row?

ITS ONLY RETIEVE der ersten Reihe Label5 TEXT view_feedback.aspx, auch wenn ich die erste Zeile von Gridview wählen oder i selct letzte Zeile der gridview ...

Kann jemand modifiziere diesen Code so, dass .. er den label5-Wert entsprechend der in gridview1 gewählten Zeile überträgt

Antwort

0

Sie sollten ein CommandArgument zu dem Steuerelement hinzufügen, das das Postback verursachte, und das CommandName "Feedback" hat. Dieses CommandArgument ist idealerweise Ihr serv_code.

Dieses CommandArgument kann über den GridViewCommandEventArgs-Parameter im RowCommand-Handler aufgerufen werden.

Zum Beispiel:

<asp:Button CommandName="feedback" CommandArgument='<%# Eval("serv_code") %>' id="btnFeedBack" runat="server" /> 
0

du solltest keine Schleife machen, du solltest die ausgewählte Zeile bekommen, label5 finden und dann auf die Seite umleiten.

+0

Wie die ,,, m begineer tun – ClixNCash