asp.net Repeater mit Usercontrol - Einstellung Command
-
27-09-2019 - |
Frage
Ich habe den folgenden Repeater Code:
<asp:Repeater ID="repMain" runat="server" OnItemCommand="repMain_ItemCommand" EnableViewState="false">
<ItemTemplate>
<dmg:testcontrol runat="server" MyData=<%#Container.DataItem %>>
</dmg:testcontrol>
</ItemTemplate>
</asp:Repeater>
Die Usercontrol sieht aus wie testcontrol:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestControl.ascx.cs" Inherits="TestRepeater.TestControl" %>
<asp:Literal runat="server" ID="litMain" Text="<%#MyData.MyValue %>"></asp:Literal>
<asp:DropDownList runat="server" ID="dropdownMain"></asp:DropDownList>
<asp:Button runat="server" ID="btnMain" Text="Click Me" CommandName="Update" CommandArgument="<%#dropdownMain.SelectedValue%>"/>
Ist es möglich für mich, durch die dropdownMain.SelectedValue als Command zu schicken?
Gerade jetzt ist es eine leere Zeichenfolge.
Danke
Duncan
PS Dies bezieht sich auf ASP.NET Repeater unverbindlich nach ItemCommand aber ich dachte, die beide so unterschiedlich auseinander zu halten.
Lösung
Ein bisschen alte Frage, aber ich mich selbst habe gerade die Antwort auf diese ein.
CommandArgument="<%#dropdownMain.SelectedValue%>"
Anforderungen wie dies stattdessen mit einfachen Anführungszeichen suchen! Alle Inline-Codes innerhalb asp.net Kontrollen haben auf diese Weise statt durchgeführt werden.
CommandArgument='<%#dropdownMain.SelectedValue%>'
Andere Tipps
Warum nicht den ausgewählten Wert erhalten, und es in der Befehlsfunktion verwenden?
(warum versuchen, es als Argument zu schicken, von dem Moment an Sie es in dem Befehl aufgerufenen Funktion erhalten und seine gleich)