Пользовательский элемент управления ретранслятора ASP.NET не отображает данные - PullRequest
0 голосов
/ 16 сентября 2011

У меня есть пользовательский элемент управления, который содержит повторитель.Я заполняю источник данных для повторителя (я проверил, что он содержит данные), но повторитель не отображает никаких данных.Элемент управления был добавлен на страницу правильно.

 //aspx for user control
 <asp:Repeater runat="server">
        <HeaderTemplate><table>
        <%# Eval("Name") %>
 </HeaderTemplate>

 //C# for user control
 public object DataSource { get; set; }
 protected void Page_Load(object sender, EventArgs e)
    {
        this.DataSource = DataSet;
        this.DataBind();
    }

//C# (code behind of aspx page where I want to use the repater user control)
repeater.DataSource = DataSet.ToArray();
repeater.DataBind();

Есть идеи, почему это не работает?

Ответы [ 4 ]

3 голосов
/ 16 сентября 2011

repeater.DataBind ();

Элементы управления ASP.NET не привязываются автоматически.

2 голосов
/ 16 сентября 2011

Попробуйте следующим образом:

    <asp:Repeater ID="repeater1" runat="server"> 
            <HeaderTemplate>
                <table class="datatable fullwidthpercent"> 
                   <tr>
                       <td>Name</td>
                   </tr>
            </HeaderTemplate>
            <ItemTemplate>
                   <tr>
                       <td><%# Eval("Name") %></td> 
                   </tr>
               </table>
            </ItemTemplate>
            <FooterTemplate>
               </table>
            </FooterTemplate>
   </asp:Repeater> 

, а также напишите repeatater.DataBind ();после назначения свойства источника данных.

2 голосов
/ 16 сентября 2011

HeaderTemplates, я полагаю, не связывают данные, они отображают только статический контент. Вы должны поместить данные для привязки в ItemTemplate или AlternatingItemTemplate.

Я предполагаю, что вы опускаете оператор DataBind из этого, который также должен быть вызван.

0 голосов
/ 28 января 2013
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        getdata();
    }

}
public void getdata()
{
    ds = objfun12.display();
    repeat12.DataSource = ds;
     repeat12.DataBind();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...