asp.net gridview - Zeile auswählen
Ich bin suchen zu können, klicken Sie auf ein gridview-Zeile in der Reihenfolge um eine Zeile zu wählen, anstatt den Einsatz der select-link.
Ich habe den code unten die die Zeile anklickbar und Verhalten sich wie ein hyperlink.....
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If (e.Row.RowType = DataControlRowType.DataRow) Then
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand';this.style.textDecoration='underline';")
e.Row.Attributes.Add("onmouseout", "this.style.textDecoration='none';")
e.Row.Attributes.Add("onclick", ClientScript.GetPostBackClientHyperlink(Me.GridView1, "Select$" + e.Row.RowIndex.ToString()))
End If
End Sub
....dann bekomme ich aber die Fehlermeldung:
Ungültiges postback oder callback-argument. Ereignis-Validierung aktiviert ist, mithilfe in der Konfiguration oder <%@ Page EnableEventValidation="true" %> in eine Seite. Aus Sicherheitsgründen kann diese Funktion überprüft, ob Argumente zu postback oder callback-Ereignisse stammen aus dem server-Steuerelement, das ursprünglich gerendert Ihnen. Wenn die Daten gültig sind, und erwartet, verwenden Sie die ClientScriptManager.RegisterForEventValidation Methode, um zu registrieren, das postback oder callback-Daten für die Validierung.
Wer weiß, wie dies zu überwinden?
Dank,
- Das problem kommt in der Regel, wenn Sie ändern die Kontrolle des Zustands mit Javascript. ASP.NET hat eine eingebaute Sicherheitsfunktion, die Hashwerte aller möglichen Werte, die von einer Steuerung (nur bei einigen böswilligen Benutzer geändert, wird die HTTP-Anforderung injizieren unbeabsichtigte Werte). In Ihrem Fall sieht es aus wie in der Dritten Zeile das problem verursacht. Ich weiß nicht, die Lösung für dieses (daher nur ein Kommentar, keine Antwort).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Danke für die Hilfe hatte die Antwort gefunden, eine andere Art und Weise...eher als bei der visibility-Eigenschaft
Ich habe die display-Eigenschaft auf none, und alles funktionierte wie es ist...
Adrian Godong Kommentar ist korrekt. Der einfachste Weg, dies zu korrigieren ist, um das GridView, um noch generieren, Wählen Sie den LinkButton, aber stellen Sie seine Visible-Eigenschaft auf false. Schließlich, legen Sie die onclick-Ereignis ausgelöst, ein virtuelles klicken Sie auf die Wählen Sie den LinkButton. Auf diese Weise, die ASP.NET Veranstaltung kommen direkt aus der Select-Taste und Sie werden daher nicht gefangen werden, ein ungültiges postback-Sicherheits-check.
Könnten Sie auch "RegisterForEventValidation".
Prüfen:
RegisterForEventValidation .net 3.5 gridview-Zeile, aber wie?