asp.net repetidor con usercontrol - establecer CommandArgument
-
27-09-2019 - |
Pregunta
Tengo el siguiente 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>
Las miradas testControl UserControl como:
<%@ 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%>"/>
¿Es posible para mí enviar a través de la dropdownMain.SelectedValue como el CommandArgument?
Ahora mismo es una cadena vacía.
Gracias
Duncan
PS Esto se relaciona con ASP.NET repetidor no vinculante después ItemCommand pero pensé que los dos suficientemente diferentes como para mantener separados.
Solución
Un poco vieja pregunta, pero yo sólo mi auto encontró la respuesta a esta pregunta.
CommandArgument="<%#dropdownMain.SelectedValue%>"
Necesidades para parecerse a este lugar con comillas simples! Todos los códigos de las líneas dentro de unos controles ASP.NET tienen que hacer de esta manera en su lugar.
CommandArgument='<%#dropdownMain.SelectedValue%>'
Otros consejos
¿Por qué no obtener el valor seleccionado, y utilizarlo dentro de la función de comando?
(¿por qué tratar de enviarlo como argumento, desde el momento en que usted puede conseguirlo dentro de la función de comando de llamada y su mismo)