Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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#_Asp.net - Fatal编程技术网

C# 使用ASP.NET的简单文件下载计数器?

C# 使用ASP.NET的简单文件下载计数器?,c#,asp.net,C#,Asp.net,如何在C中用ASP.NET制作一个简单的文件下载计数器?例如,当用户单击并下载文件时,我想用+1更新它,并将其文件名保存到DB。当用户在mouse over link上登录时,我想显示一个带有文件下载次数的工具提示。但是如果用户取消下载状态,它将不会更新它。如果您不想更新,除非文件完全下载,您必须编写自己的工具提示,在处理的最后更新数据库 例如,对于DB,我建议使用一个表来存储每个下载事件,以及一个存储每个文件信息的表 tblDownloads ************ DlID (GUID,

如何在C中用ASP.NET制作一个简单的文件下载计数器?例如,当用户单击并下载文件时,我想用+1更新它,并将其文件名保存到DB。当用户在mouse over link上登录时,我想显示一个带有文件下载次数的工具提示。但是如果用户取消下载状态,它将不会更新它。

如果您不想更新,除非文件完全下载,您必须编写自己的工具提示,在处理的最后更新数据库

例如,对于DB,我建议使用一个表来存储每个下载事件,以及一个存储每个文件信息的表

tblDownloads
************
DlID (GUID, not nullable, primary key)
Date (datetime, not nullable)
FileID (GUID, not nullable)

tblFiles
********
FileID (GUID, not nullable, primary key)
Url (nvarchar(255), not nullable)
Title (nvarchar(255), not nullable)
Description (nvarchar(max))
示例数据类型等按MSSQL中的名称命名

要获得特定文件的下载计数,只需查询数据库中的

SELECT COUNT(DlID) FROM tblDownloads WHERE FileID = @FileID
其中@FileID是您感兴趣的文件ID的参数。如果您想循环出所有文件的URL,您可以例如查询

SELECT 
    f.FileID, f.Url, f.Title, f.Description, COUNT(d.DlID) AS DownloadCount 
FROM tblFiles f INNER JOIN tblDownloads d ON f.FileID = d.FileID 
GROUP BY f.FileID, f.Url, f.Title, f.Description

那么你能给我举个通用句柄的例子吗?如果投票否决我的用户能给我一个提示,说明为什么=你需要告诉那个人他为什么错了,否则他怎么改正自己?