以前に作成した画像コントロールを使用して、画像がクリックされたときに画像を製品の詳細ページに移動しようとしています。
ProductDetail.aspx?ProductId={0} )
以下のコードは、画像を表示して画像コントロールにバインドする方法です。これは私のaspx.csです:
protected string GetProductImgUrl(int productId)
{
var sqlText = "SELECT pProductImage FROM Products WHERE pProductId = " + productId.ToString();
using (var mDB = new OleDbConnection(ConfigurationManager.ConnectionStrings["AccessConnection"].ConnectionString))
{
mDB.Open();
var cmd = new OleDbCommand(sqlText, mDB);
using (var rdr = cmd.ExecuteReader())
{
if (rdr.Read())
{
return ResolveUrl((rdr["pProductImage"]).ToString());
}
}
}
return ResolveUrl("~/images/NotAvailable.png"); // Not available image
}
これは私のマークアップです:
<div class="imagesfloat" >
<img width="100" height="100" src='<%= GetProductImgUrl(3) %>' alt="" />
</div>
ProductId
ロジックは、データフィールドとURLフォーマット文字列からURlを取得するgridviewコントロールを使用する場合も同じです。ProductDetail.aspx?ProductId={0}
ただし、この場合、GridViewコントロールを使用していません。