我尝试使用querystring url在我的sql server数据库中的产品表中显示产品详细信息,url工作正常,能够显示用户点击的产品ID,例如ProductDetails.aspx?ID = 1,ProductDetails.aspx?ID = 2等。
但无论传递的网址是什么,productdetails.aspx都会在我的数据库中显示第一个产品ID。
我使用listview显示产品列表,formview显示产品详细信息,ObjectDataSource用于绑定数据库中的数据。
<a href='ProductDetails.aspx?ID=<%# Eval("ID") %>'>
<span><b><%# Eval("Judul") %></b>
</span><br>
</a>
答案 0 :(得分:0)
感谢您的回答,一开始我没有任何线索如何解决这个问题。由于stingyJack建议我按照以下步骤为我的formview绑定数据,然后突然发挥作用。
- 使用方法ProductDetailAccess.cs中的参数“@ID”更改查询,以便将数据绑定到ObjectDataSource
醇>
$("[data-toggle=tooltip]").tooltip({delay: {hide: 1000}});
$("[data-toggle=tooltip]").hover( function(e){
if (e.type == 'mouseenter')
$('.tooltip').css('left', parseInt($('.tooltip').css('left')) + 15 + 'px');
});
- 我在Page_Load事件
中添加此代码 醇>
namespace ProductDetail.App_Code
{
public class ProductDetail
{
public int ID { get; set; }
public string Title { get; set; }
public string Writer { get; set; }
public int Publish { get; set; }
public int Publisher_ID { get; set; }
public int Category_ID { get; set; }
public int Status_ID { get; set; }
public string Book_Image_Url { get; set; }
public int Jumlah { get; set; }
public string Deskripsi { get; set; }
}
public class ProductDetailAccess
{
public static List<ProductDetail> GetAllProduct(int ID)
{
List<ProductDetail> ProductList= new List<ProductDetail>();
string cs = ConfigurationManager.ConnectionStrings["cs_productSample"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("Select * from T_Product where ID = @ID", con);
SqlParameter param = new SqlParameter("@ID", ID);
cmd.Parameters.Add(param);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
ProductDetail ProductDetail = new ProductDetail();
ProductDetail.ID = Convert.ToInt32(rdr["ID"]);
ProductDetail.Title = rdr["Title"].ToString();
ProductDetail.Writer = rdr["Writer"].ToString();
ProductDetail.Publish = Convert.ToInt32(rdr["Publish"]);
ProductDetail.Publisher_ID = Convert.ToInt32(rdr["ID_Penerbit"]);
ProductDetail.Category_ID = Convert.ToInt32(rdr["Category_ID"]);
ProductDetail.Status_ID = Convert.ToInt32(rdr["Status_ID"]);
ProductDetail.Book_Image_Url = rdr["Book_Image_Url"].ToString();
ProductDetail.Jumlah = Convert.ToInt32(rdr["Jumlah"]);
ProductDetail.Deskripsi = rdr["Deskripsi"].ToString();
ProductList.Add(ProductDetail);
}
}
return ProductList;
}
}
}
也许有另一种方法可以做到这一点,请写下你的答案
由于
答案 1 :(得分:-1)
尝试使用<asp:Hyperlink>
服务器代码而不是<a>
代码。
并使用Request.QueryString["ID"]
页面上的PoductDetails.aspx
来检索值ProductID