SqlDataReader и пользовательский контроль - PullRequest
0 голосов
/ 13 мая 2010

Я пытаюсь использовать userControl для отображения данных SqlDataReader.

на главной странице

  public SqlDataReader Data2;

...

 <uc1:WebUserControl ID="WebUserControl1" RData1="<%=Data2 %>" runat="server" />

и в пользовательском контроле

  Repeater1.DataSource = RData1;

        Repeater1.DataBind();



     <asp:Repeater ID="Repeater1" runat="server">    <ItemTemplate> 
 <div class="row">   <b> 
 <%#DataBinder.Eval(Container.DataItem,
 "replay_subject")%></b><br />   
 <%#DataBinder.Eval(Container.DataItem,
 "replay_text")%><hr/> </div>   
 </ItemTemplate>
      </asp:Repeater>

Но я продолжаю получать эту ошибку

Не удается создать объект типа 'System.Data.SqlClient.SqlDataReader' из его строкового представления '<% = Data2%>' для свойства 'RData1'.

1 Ответ

4 голосов
/ 13 мая 2010

Вы не можете назначить RData1, используя этот встроенный код в ASPX. Компилятор пытается преобразовать Data2 в строковое представление для установки свойства, а RData1 ожидает SqlDataReader, поэтому он завершается неудачей.

Вы должны присвоить его коду позади, как это

WebUserControl1.RData1 = Data2;
...