SQL テーブルIcon(ID(int),ICON_IMAGE(image),hits(int)) があります。グリッドビューで画像にアクセスしています。私のASPページコードは次のようになります
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "imagehandler.ashx?ID=" + Eval("ID")%>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ICOBANKConnectionString %>"
SelectCommand="SELECT [ICON_IMAGE], [ID] FROM [Icon]"></asp:SqlDataSource>
imagehandler.ashx コードは次のようになります
SqlConnection con = new SqlConnection();
con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ICOBANKConnectionString"].ConnectionString;
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT ICON_IMAGE FROM Icon WHERE (ID = @ID)";
cmd.CommandType = System.Data.CommandType.Text;
cmd.Connection = con;
SqlParameter ImageID = new SqlParameter("@ID", System.Data.SqlDbType.Int);
ImageID.Value = context.Request.QueryString["ID"];
cmd.Parameters.Add(ImageID);
con.Open();
SqlDataReader dReader = cmd.ExecuteReader();
dReader.Read();
context.Response.BinaryWrite((byte[])dReader["ICON_IMAGE"]);
dReader.Close();
con.Close();
その正常に動作します。今の問題は、画像のIDを取得して他のページに表示し、誰かが画像をクリックしたときにヒット数を増やしようとしていることです。どうすればいいですか?