Pergunta

Eu tenho o seguinte código repetidor:

 <asp:Repeater ID="repMain" runat="server" OnItemCommand="repMain_ItemCommand" EnableViewState="false">
    <ItemTemplate>
    <dmg:testcontrol runat="server" MyData=<%#Container.DataItem %>>


    </dmg:testcontrol>
    </ItemTemplate>
    </asp:Repeater>

O TestControl UserControl parece:

<%@ 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%>"/>

É possível enviar o suspensão do suspensão.SelectedValue como o CommandArgument?

Agora é uma corda vazia.

Obrigado

Duncan

PS isso está relacionado a ASP.NET Repeator não vinculativo após o ItemCommand Mas eu pensei que os dois suficientemente diferentes para se separar.

Foi útil?

Solução

Pergunta um pouco antiga, mas eu só encontrei a resposta para esta.

CommandArgument="<%#dropdownMain.SelectedValue%>"

Precisa parecer assim com citações únicas! Todos os códigos embutidos em um ASP.NET controles devem ser feitos dessa maneira.

CommandArgument='<%#dropdownMain.SelectedValue%>'

Outras dicas

Por que não obter o valor selecionado e usá -lo dentro da função de comando?

(Por que tentar enviá -lo como argumento, a partir do momento em que você pode obtê -lo dentro do comando chamado função e é o mesmo)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top