Question

J'essaie simplement de lier un bouton radio Entrée HTML à l'intérieur d'un répéteur:

<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>

La méthode GetSelectedValue retourne simplement une chaîne "cochée". pour que le bouton radio soit sélectionné, disons que le répéteur a 3 éléments à boucler et que le balisage est rendu et que si j’inspecte l’élément, la valeur correcte pour le premier bouton radio est affichée, c’est-à-dire cochée = "cochée". mais sur l'interface utilisateur, le troisième bouton radio est sélectionné même si sa valeur cochée = "faux", quelqu'un peut-il me guider quant à ce que je ne fais pas?

Était-ce utile?

La solution

Essayez ceci

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

Fondamentalement, l'inclusion sur l'attribut vérifié entraîne la vérification du RadioButton . Vous voulez le retirer pour que tout soit rendu ou que tout soit absent.

N'oubliez pas non plus que tous vos boutons radio vont être nommés Test1 Il peut être judicieux d'utiliser un bouton radio Radio côté serveur.

Autres conseils

L'attribut CHECKED en HTML n'a aucune valeur associée. Vous ne devez utiliser cet attribut que si vous souhaitez le sélectionner.

Vous voulez quelque chose comme:

<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>

Sinon, vous pouvez simplement utiliser les contrôles ASP.NET INPUT.

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