我真的很難包裝數據表的使用。因爲我一直在嘗試使用它們更積極,現在這是我的問題表面。將數據綁定到中繼器
此代碼返回沒有錯誤,但沒有數據綁定到Repeater:
頁:
<asp:Repeater ID="RepeaterBrand" runat="server">
<ItemTemplate>
<p><%# Eval("products_name")%></p>
</ItemTemplate>
</asp:Repeater>
代碼隱藏:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["brand"] != null && !IsPostBack)
{
var Brand = (Request.QueryString["brand"]);
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("SELECT * FROM Table_Products WHERE products_brand = @Pr_brand", conn);
cmd.Connection = conn;
cmd.Parameters.Add("@Pr_brand", System.Data.SqlDbType.VarChar).Value = Brand;
DataTable dt = new DataTable();
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows && reader.Read())
{
dt.Load(reader);
RepeaterBrand.DataSource = dt;
RepeaterBrand.DataBind();
}
conn.Close();
}
}
我很新的C#,所以我可能需要一些視覺幫助來獲得這個。
預先感謝您。
我希望這可以幫助任何人,這是我在JaydipJ向我展示語法之後結束的。
if (Request.QueryString["brand"] != null && !IsPostBack)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
var Brand = (Request.QueryString["brand"]);
cmd.CommandText = "SELECT * FROM Table_Products WHERE products_brand = @Pr_brand";
cmd.Parameters.Add("@Pr_brand", System.Data.SqlDbType.VarChar).Value = Brand;
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
RepeaterBrand.DataSource = dt;
RepeaterBrand.DataBind();
你有一個調試器。請嘗試使用它。 –
你有一個額外'''在Eval你應該刪除它'
<%#Eval(「products_name」)%>
' – jackjop是的,我已經刪除了,但它不是原因,我一直在使用除蟲器。它告訴我,一切運行平穩,所有的值都被收集起來,並且我填充的數據表(不是空的),但是中繼器不像任何數據顯示那樣行爲 –