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.

Était-ce utile?

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)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top