为什么我的页面在绑定并尝试显示数据库ASP.net中的数据后变为空白

时间:2017-01-18 02:56:26

标签: c# asp.net

我试图设计一些网页,我可以在其中显示我的产品图片,包括价格和产品信息。从数据库绑定数据并运行程序后,页面变为空白。什么都没有显示。我尝试过使用实体框架,使用Bootstraps等。结果相同。我的系统是Windows 8.1和visual studio 2013终极使用.Net框架4.5我尝试过使用SSMS数据库和Visual Studio MDF数据库..没有任何变化......有什么帮助吗?或者我是否需要额外的add = ons或者是否有任何错误的编码? 谢谢你们...... 下面是我的代码。

源代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/UsserMasterPage.master" AutoEventWireup="true" CodeFile="Products.aspx.cs" Inherits="Products" %>

<asp:Content ID="Content1" ContentPlaceHolderID="Head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <div class="row" style="padding-top: 50px">
        <asp:Repeater ID="rptrProducts" runat="server">
            <ItemTemplate>
                <div class="col-sm-2 col-md-2">
                    <div class="thumbnail">
                        <img src="Images/ProductImages/<%#Eval("PID") %>/<%#Eval("ImageName") %><%#Eval("Extention") %>" alt="<%#Eval("ImageName") %>" />
                        <div class="caption">
                            <div class="proBrand"><%#Eval("BrandName") %></div>
                            <div class="proName"><%#Eval("ProductName") %></div>
                            <div class="proPrice"><span class="proOgPrice"><%#Eval("ProductPrice") %></span><%#Eval("ProductSellPrice") %><span class="proPriceDiscount"><%#Eval("DiscAmount") %>Off</span></div>
                        </div>
                    </div>
                </div>
            </ItemTemplate>
        </asp:Repeater>
    </div>
</asp:Content>

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    if(IsPostBack)
    {
        BindProductRepeater();
    }
}

private void BindProductRepeater()
{
    String SC = ConfigurationManager.ConnectionStrings["ShoppingDBConnectionString1"].ConnectionString;
    using(SqlConnection con = new SqlConnection(SC))
    {
        using (SqlCommand cmd = new SqlCommand("ProcedureBindAllProducts", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
            {
                DataTable dtBrands = new DataTable();
                sda.Fill(dtBrands);
                rptrProducts.DataSource= dtBrands;
                rptrProducts.DataBind();
            }
        }
    }
}
}

1 个答案:

答案 0 :(得分:0)

try
{
  SqlCommand cmd = new SqlCommand("ProcedureBindAllProducts",con);
  DataTable dt = new DataTable();
  dt.Load(cmd.ExecuteReader());
  rptrProducts.DataSource= dtBrands;
  rptrProducts.DataBind();
}
catch(Exception Ex)
{
  Console.WriteLine(Ex.Message.ToString());
}

尝试这样的事情并查看数据表是否在调试时获取任何记录,如果是,那么检查数据返回是否具有在转发器中用于绑定数据的相同列名。

此外,我相信您希望在页面加载时加载数据(如果是这种情况) 做这样的事

protected void Page_Load(object sender, EventArgs e)
{
  if(!IsPostBack)
  {
    BindProductRepeater();
  }
}