0

userControl を使用して SqlDataReader データを表示しようとしています。

メインページで

  public SqlDataReader Data2;

...

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

そしてuserControlで

  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>

しかし、私はこのエラーが発生し続けます

'RData1' プロパティの文字列表現 '<%=Data2 %>' から 'System.Data.SqlClient.SqlDataReader' 型のオブジェクトを作成できません。

4

1 に答える 1

4

ASPX でそのインライン コードを使用して RData1 を割り当てることはできません。コンパイラは、プロパティを設定するために Data2 を文字列表現に変換しようとしますが、RData1 は SqlDataReader を想定しているため、失敗します。

このようにコードビハインドに割り当てる必要があります

WebUserControl1.RData1 = Data2;
于 2010-05-13T13:41:56.440 に答える