Domanda

Ho il seguente codice ripetitore:

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


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

L'aspetto TestControl UserControl come:

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

E 'possibile per me di inviare attraverso il dropdownMain.SelectedValue come CommandArgument?

Proprio ora è una stringa vuota.

Grazie

Duncan

PS Questo è legato alla ASP.NET ripetitore non vincolante dopo ItemCommand ma ho pensato due sufficientemente diversi per tenere separate.

È stato utile?

Soluzione

Un po 'vecchia questione, ma ho solo la mia auto ha trovato la risposta a questa.

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

ha bisogno di guardare in questo modo, invece, con apici! Tutti i codici in linea nel giro di controlli ASP.NET devono essere fatte in questo modo, invece.

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

Altri suggerimenti

Perché non avere il valore selezionato, e utilizzarlo all'interno della funzione di comando?

(perché per provare a inviarlo come argomento, dal momento in cui si può ottenere all'interno della funzione di comando chiamato e il suo stesso)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top