使用asp.net和sql server

时间:2015-05-21 15:46:07

标签: c# asp.net sql-server formview

我尝试使用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>

2 个答案:

答案 0 :(得分:0)

感谢您的回答,一开始我没有任何线索如何解决这个问题。由于stingyJack建议我按照以下步骤为我的formview绑定数据,然后突然发挥作用。

  
      
  1. 使用方法ProductDetailAccess.cs中的参数“@ID”更改查询,以便将数据绑定到ObjectDataSource
  2.   
$("[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');
});
  
      
  1. 我在Page_Load事件
  2. 中添加此代码   
     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