Pergunta

aqui é o problema que estou tendo com o marcador:

Eu tenho um repetidor e dentro desse repetidor, eu tenho um modelo de item. Agora, este modelo é formatado com um par de mesas, mas para esta pergunta eu removi-los a fazer as coisas mais fáceis para ler:

<asp:Repeater ID="Repeater1" OnItemDataBound="R1_ItemDataBound" runat="server">

   <ItemTemplate>
      <asp:PlaceHolder ID="phAnswers" runat="server"></asp:PlaceHolder>               
   </ItemTemplate>
</asp:Repeater>

Em seguida, no evento OnItemDataBound, eu criar um novo espaço reservado, vinculá-lo ao existente no (phAnswers), no entanto o espaço reservado não é atualizado com as radiobuttons / textboxs que são criados:

    Dim rdList As New RadioButtonList
    Dim newRadio As New RadioButton

 If (e.Item.ItemType = ListItemType.Item) Or _
        (e.Item.ItemType = ListItemType.AlternatingItem) Then

        Dim tempPH As PlaceHolder

        tempPH = e.Item.FindControl("phAnswers")

        For x As Integer = 0 To (t_MC.Count - 1)

                newRadio = New RadioButton

                newRadio.ID = "Answer" + x.ToString
                newRadio.Text = t_MC(x).Value
                rdList.Controls.Add(newRadio)

            Next

   tempPH.Controls.Add(rdList)

Todas as ideias por phAnswers não é atualizado com o novo espaço reservado tempPH? Felicidades

Foi útil?

Solução

OnItemDataBound pode ser tarde demais para adicionar controles. Experimentá-lo em OnItemCreated e ver se isso ajuda. É um teste rápido - apenas mude sua repetidora declaração evento como este:

OnItemCreated="R1_ItemDataBound"

Se esta ideia não ajuda, você pode facilmente mudar-lo de volta.

Edit - Eu notei algo. Para preencher um RadioButtonList, você deve usar ListItems, como este:

ListItem item - new ListItem("your text", "your value");
rdList.Items.Add(item);

Este é provavelmente por isso que o seu RadioButtonList não apareceu, mas botões de rádio solitários trabalhou.

Outras dicas

Tente usar um Panel em vez de um PlaceHolder

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