我试图设计一些网页,我可以在其中显示我的产品图片,包括价格和产品信息。从数据库绑定数据并运行程序后,页面变为空白。什么都没有显示。我尝试过使用实体框架,使用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();
}
}
}
}
}
答案 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();
}
}