protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page .IsPostBack )
        {
            book bk = new book();
            DataList1.DataSource = bk.mymethod("select * from mysinger");
            DataList1.DataBind();
        }
    }
    public class book
    {
        protected string connstring;
       
        public book()
        {
            connstring = ConfigurationManager.ConnectionStrings["SingerConnectionString"].ConnectionString;
        
        }
        public DataTable mymethod(string query)
        {
            
            SqlConnection conn = new SqlConnection(connstring );
            SqlDataAdapter dap = new SqlDataAdapter(query, conn);
            DataSet ds = new DataSet();
            dap.Fill(ds,"name");
            return ds.Tables["name"];        }
    }
web.config里配置为:
<connectionStrings>
    <add name="SingerConnectionString" connectionString="Data Source=56b4ce34f93c4f0\sqlexpress;Initial Catalog=Singer;Persist Security Info=True;User ID=sa;Password=12345"
            providerName="System.Data.SqlClient" />
    
  </connectionStrings>
数据库,数据表都没问题,连接成功数据库,在设计里加入了datalist空间,运行后竟然是空白页面,也无错误提示,这是怎么回事啊?

解决方案 »

  1.   

    DataList  需要在源的项目模板里面写 代码绑定数据的 在DataList里面 <ItemTem...>
    <%#Eval("你查询的字段")%>
    </...>
      

  2.   

    数据库连接打开了吗?
    conn.Open();
      

  3.   

    datalist&repeater是使用模板来显示数据的,
    使用时候要自己定义显示的模板,再绑定数据
      

  4.   

    选择了数据源,或者用代码绑定指定的数据源,并绑定,不是就可以自己将数据表中的字段加载进去了吗?(用选择了数据源的方式验证后是可以的),conn.Open()了,还是空白页
      

  5.   

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:DataList ID="DataList1" runat="server">
            </asp:DataList>
        
        </div>
        <p>
            &nbsp;</p>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
        </form>
    </body>
    </html>
      

  6.   

    数据表里是有数据的,使用选择数据源配置的方式,也是自动绑定字段啊,而且网页中显示了。选择好数据源后,源中代码自动变为
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:DataList ID="DataList1" runat="server" DataKeyField="SingerID" 
                DataSourceID="SqlDataSource1" RepeatDirection="Horizontal">
                <ItemTemplate>
                    SingerID:
                    <asp:Label ID="SingerIDLabel" runat="server" Text='<%# Eval("SingerID") %>' />
                    <br />
                    Name:
                    <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
                    <br />
                    Sex:
                    <asp:Label ID="SexLabel" runat="server" Text='<%# Eval("Sex") %>' />
                    <br />
                    Stature:
                    <asp:Label ID="StatureLabel" runat="server" Text='<%# Eval("Stature") %>' />
                    <br />
                    Photo:
                    <asp:Label ID="PhotoLabel" runat="server" Text='<%# Eval("Photo") %>' />
                    <br />
                    <br />
                </ItemTemplate>
            </asp:DataList>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:SingerConnectionString %>" 
                SelectCommand="SELECT * FROM [mysinger]"></asp:SqlDataSource>
        
        </div>
        </form>
    </body>
    </html>
    可是为什么用代码绑定,就是显示不出来呢
      

  7.   

    2楼正解:
    <asp:DataList ID="DataList" runat="server" >
                <ItemTemplate>
                    <%#Eval("你查询的字段1")%>
                </ItemTemplate>
                <ItemTemplate>
                    <%#Eval("你查询的字段2")%>
                </ItemTemplate>
            </asp:DataList>