Question: I want to use `TextButton` for my custom made buttons but this requires me to (re)position the `text` or `Label` within that `TextButton`. I have tried some options but i am pretty stuck.

```
//this seems straightforward but nothing changes.
final TextButton b = new TextButton("LABEL", skin);
b.getLabel().setPosition(100, -20);

//Read somewhere about adding new children to buttons but no success either.
final TextButton b = new TextButton("OLD LABEL", skin);
b.clearChildren();
Label l = new Label("NEW LABEL", skin);
l.setPosition(400, 600);
b.add(l);

b.layout(); // Does not help either.

```

I am adding the `Button` straight into the `Stage` without a table for what it matters. Anyone has some ideas on this?

![enter image description here](https://i.stack.imgur.com/9g95D.png)

Answer: 
`<%#` is not made to use `foreach` with it, neither `if` or other language keywords. It's mainly done to databinding.

But you can : 

* Do it in codebehind with the \_ItemDataBound event of the repeater (hugely recommanded for complex processings/formatting).
See <http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.repeater.itemdatabound%28v=vs.110%29.aspx>
* Call a method of the page which takes in parameter the DataItem and creates the data you want. See [How do you pass a Container.DataItem as a parameter?](https://stackoverflow.com/questions/287358/how-do-you-pass-a-container-dataitem-as-a-parameter) for example

Hope this helps
You can also use nested repeaters in ASP.NET

```
<asp:Repeater runat="server" ID="rpt1">
  <ItemTemplate>
     <asp:Repeater runat="server" ID ="rpt2" DataSource='<%# Eval("etiketler") %>'>
      <ItemTemplate>
        <%# Eval("tag") %>
     </ItemTemplate>
    </asp:Repeater>
  </ItemTemplate>
</asp:Repeater>

```