asp.net répéteur avec usercontrol - CommandArgument réglage
-
27-09-2019 - |
Question
J'ai le code répéteur suivant:
<asp:Repeater ID="repMain" runat="server" OnItemCommand="repMain_ItemCommand" EnableViewState="false">
<ItemTemplate>
<dmg:testcontrol runat="server" MyData=<%#Container.DataItem %>>
</dmg:testcontrol>
</ItemTemplate>
</asp:Repeater>
Les regards testControl UserControl comme:
<%@ 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%>"/>
moi Est-il possible d'envoyer par le dropdownMain.SelectedValue comme CommandArgument?
Tout à l'heure, il est une chaîne vide.
Merci
Duncan
PS Ceci est lié à ASP.NET répéteur sans engagement après ItemCommand mais je pensais que les deux suffisamment différentes pour tenir à l'écart.
La solution
Un peu vieille question, mais je viens moi-même trouvé la réponse à celle-ci.
CommandArgument="<%#dropdownMain.SelectedValue%>"
doit ressembler à ceci à la place avec des guillemets simples! Tous les codes à roues alignées dans un contrôle de asp.net doivent faire ainsi la place.
CommandArgument='<%#dropdownMain.SelectedValue%>'
Autres conseils
Pourquoi ne pas obtenir la valeur sélectionnée et l'utiliser dans la fonction de commande?
(pourquoi essayer de l'envoyer comme argument, à partir du moment où vous pouvez l'obtenir dans la commande appelée fonction et son même)