Domanda

Sto semplicemente tentando di associare un pulsante di opzione Input HTML all'interno di un ripetitore:

<asp:Repeater ID="Outlets" runat="server" >
 <ItemTemplate>
    <input type="radio" name="Proposal" value="Test1" id="Radio1" checked="
<%#`GetSelectedValue(DataBinder.Eval(Container.DataItem,"IsDefaultSelection"))%>" />`

    <label for="Test1">
              <%#DataBinder.Eval(Container.DataItem, "Label")%>
    </label>

  </ItemTemplate>
</asp:Repeater>

Il metodo GetSelectedValue restituisce semplicemente una stringa " checked " per selezionare il pulsante di opzione, supponiamo che il ripetitore avesse 3 elementi da eseguire in loop e quando viene visualizzato il markup e se ispeziono l'elemento vedo il valore corretto per il primo pulsante di opzione, ovvero controllato = " controllato " ma sull'interfaccia utente viene selezionato il terzo pulsante di opzione anche se il suo valore verificato = " false " ;, qualcuno può guidarmi su ciò che sto facendo di sbagliato?

È stato utile?

Soluzione

Provalo

<%# (bool)Eval("IsDefaultSelection") ? " checked=\"checked\" " : string.Empty %>

Fondamentalmente l'inclusione nell'attributo controllato sta causando il controllo del RadioButton . Volete estrarlo in modo che l'intera cosa sia resa o l'intera cosa sia assente.

Tieni anche presente che tutti i tuoi RadioButtons saranno denominati Test1 Potrebbe essere una buona idea usare un RadioButton sul lato server.

Altri suggerimenti

L'attributo CHECKED in HTML non ha alcun valore associato ad esso. Dovresti usare questo attributo solo se vuoi selezionarlo.

Vuoi qualcosa del tipo:

<asp:Repeater ID="Outlets" runat="server" >
 <ItemTemplate>
    <input type="radio" name="Proposal" value="Test1" id="Radio1" <%
    if (GetSelectedValue(DataBinder.Eval(Container.DataItem,"IsDefaultSelection"))
        response.write("CHECKED");
%> />
    <label for="Test1">
              <%#DataBinder.Eval(Container.DataItem, "Label")%>
    </label>

  </ItemTemplate>
</asp:Repeater>

Altrimenti potresti semplicemente usare i controlli INPUT ASP.NET.

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