Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储asp.net(c)中的按钮单击次数_C#_Asp.net_Sql Server_Click_Increment - Fatal编程技术网

C# 存储asp.net(c)中的按钮单击次数

C# 存储asp.net(c)中的按钮单击次数,c#,asp.net,sql-server,click,increment,C#,Asp.net,Sql Server,Click,Increment,我给用户提供了下载由提供商上传的图像的选项。单击下载按钮时,图像将下载。但我还想存储下载按钮被点击的次数。 为此,我键入了这段代码,但它不起作用 我尝试了几种方法,比如声明一个int变量并递增它。没用。然后我试了这个。仍然不起作用。我做错了什么 protected void btn_download_Click(object sender, EventArgs e) { var res = (byte[])Session["Image"];

我给用户提供了下载由提供商上传的图像的选项。单击下载按钮时,图像将下载。但我还想存储下载按钮被点击的次数。 为此,我键入了这段代码,但它不起作用

我尝试了几种方法,比如声明一个int变量并递增它。没用。然后我试了这个。仍然不起作用。我做错了什么

 protected void btn_download_Click(object sender, EventArgs e)
        {


            var res = (byte[])Session["Image"];

           Response.Clear();
            MemoryStream ms = new MemoryStream(res);
            Response.ContentType = "image/jpeg";
            Response.AddHeader("content-disposition", "attachment;filename=Image.jpg");
            Response.Buffer = true;
            ms.WriteTo(Response.OutputStream);
            Response.End();



            try
            {

                SqlCommand command = new SqlCommand("UPDATE [ImageWithTags] SET DownloadCount = DownloadCount + 1 WHERE ImageID='" + DropDownList1.SelectedItem.Text + "'", con);
                con.Open(); 
                command.ExecuteNonQuery();
                con.Close();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }




        }

您也可以为此创建会话变量,并执行如下计算:

protected void btn_download_Click(object sender, EventArgs e)
{
    int counter=0;    
    if(Session["counter"]!=null)
     {
        Session["counter"] = ++Convert.ToInt32(Session["counter"]);
        counter = Convert.ToInt32Session["counter"];
     }
    else
      Session["counter"] = 0;
        // do your calculation here with variable counter
}

如果有错误,您会得到什么?调试时会发生什么?不会出现错误。如果你把断点放在con.Open上,然后看看你的命令变量,你的查询是你所期望的吗?你可以使用a,或者在响应之前执行SQL命令。end?他不想存储会话中按下按钮的次数,但在所有用户的网站上。