Darunter eval / bind-Werte in OnClientClick-code
Ich habe ein Bedürfnis zum öffnen eines popup-detail-Fenster von einer gridview (VS 2005 /2008). Was ich versuche zu tun, ist in das markup für meine TemplateColumn asp:Button-Steuerelement, ähnlich wie diese:
<asp:Button ID="btnShowDetails" runat="server" CausesValidation="false"
CommandName="Details" Text="Order Details"
onClientClick="window.open('PubsOrderDetails.aspx?OrderId=<%# Eval("order_id") %>',
'','scrollbars=yes,resizable=yes, width=350, height=550');"
Natürlich, was nicht funktioniert, ist das Anhängen von <%# Eval...%> Abschnitt zum festlegen der Abfrage-string-variable.
Irgendwelche Vorschläge? Oder ist es eine weit bessere Möglichkeit, dies zu erreichen das gleiche Ergebnis?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, der Weg, es zu tun ist
Ich wie @AviewAnew's Vorschlag, allerdings kannst du auch einfach schreiben, dass aus der code-behind, indem Sie Kabel und Veranstaltung für die grid-Ansicht ItemDataBound-Ereignis. Sie würden dann verwenden Sie die FindControl-Methode, auf den event-args, die Sie bekommen, schnappen Sie sich einen Verweis auf die Schaltfläche, und legen Sie die onclick Attribut zu Ihrem Fenster.open-Anweisung.
Tun dies in der code-behind. Verwenden Sie einfach einen event-handler für gridview_RowDataBound. (Mein Beispiel verwendet ein gridview-Steuerelement mit der id "gvBoxes".