FormView不能绑定SqlDataReader数据吗?public static void Ms_xx(int id,FormView fv) {
..
using (SqlDataReader rdr = SqlHelper.ExecuteReader(procName, parm)) {
     if (rdr.Read()) {
        fv.DataSource = rdr;
        fv.DataBind();
     }
}
=====================
页面CS:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack) {
            Bll.Ms_xx(3000,FormView1);
        }
    }
=====================
页面:
<asp:FormView ID="FormView1" runat="server">
        <ItemTemplate>
            <%#Eval("Name") %>
        </ItemTemplate>
</asp:FormView>
=====================
不考虑其他因素,为什么我FormView绑定SqlDataReader 没有数据?已知 rdr 返回一条数据没错
是我代码有误还是绑定不行?(请在这问题基础上回答,不要叫我用DataSet绑定之类的话,帮我解决这个问题。谢谢)

解决方案 »

  1.   

    public static void Ms_xx(int id,FormView fv) {
    ..
    using (SqlDataReader rdr = SqlHelper.ExecuteReader(procName, parm)) {
        
            fv.DataSource = rdr;
            fv.DataBind();
        }
    这样试试
      

  2.   

    public static void Ms_xx(int id,FormView fv) {
    ..
    using (SqlDataReader rdr = SqlHelper.ExecuteReader(procName, parm)) {
         if (rdr.HasRows) {
            fv.DataSource = rdr;
            fv.DataBind();
         }
    }不能Read(),Read就走了一行