我添加了DataList控件后(没做其它动作),就写了如下代码,结果不能显示数据:using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;namespace test
{    public partial class WebForm1 : System.Web.UI.Page
    {
        static string strconn = "Data Source=localhost;database=BOOKS;integrated security=SSPI";
        static SqlConnection conn = new SqlConnection(strconn);
        static SqlCommand sqlcmd;
        static SqlDataReader SqlReader;
        protected void Page_Load(object sender, EventArgs e)
        {            DataList1.DataSource = CreateDataView();
            DataList1.DataBind();
                      }
        public DataView CreateDataView()
        {
            sqlcmd = conn.CreateCommand();
            OpenConnection();
            sqlcmd.CommandText = "SELECT * FROM ip";
            SqlDataAdapter ad = new SqlDataAdapter(sqlcmd);
            DataSet ds = new DataSet();
            ad.Fill(ds, "ip");
            DataView dv = ds.Tables["ip"].DefaultView;
            return dv;
        }
        static void CloseConnection()
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
        }
        static void OpenConnection()
        {
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();            }
        }
    }
}

解决方案 »

  1.   

    好像没错, SQL读得出数据来么,最后一个不足的地方,就是太乱了,几个层在一起了,以后要修改你就惨了
      

  2.   

    这里为空啊(dv),不知道有还没有像我一样的懒人,知道具体的操作步骤:  DataView dv = ds.Tables["ip"].DefaultView; 
      

  3.   

    DataList的ItemTemplate里写内容了么?
    比如
    <asp:DataList ID="DataList1" runat="server"> 
        <ItemTemplate> 
             <%# Eval("某个字段") %>
        </ItemTemplate> 
    </asp:DataList> 
      

  4.   

    定义<ItemTemplate> </ItemTemplate>项没有?