页面已经做完了
现在要加入一个新功能用户访问计数器
只要用户打开页面就计数
刷新也是
而且后台能修改计数器数字我找了一天的代码,都不行
只有统计的(统计的我做的差不多了),没有能修改的
都是用application
而application我不是很懂
不知道怎么改谁帮我解决一下啊
解决后我会加分的
现在要加入一个新功能用户访问计数器
只要用户打开页面就计数
刷新也是
而且后台能修改计数器数字我找了一天的代码,都不行
只有统计的(统计的我做的差不多了),没有能修改的
都是用application
而application我不是很懂
不知道怎么改谁帮我解决一下啊
解决后我会加分的
解决方案 »
- dropdownlist事件
- .net中一个关于服务器的问题
- 写了一个文本文件来显示更新的消息 怎么来在后台来控制这个文本文件
- Discuz!NT 动力是免费的吗
- 这几天又无聊了,怎么生活呢?做什么项目自己能发个才呢
- 建asp.net建目的问题,帮瞧下。已成功创建 Web,但在试图配置此 Web 的应用程序根时发生错误。如果没有应用程序根....
- 大家谈谈泛型编程在.net中的影响~~~见者有分~~~:)
- 周五了,放松一下。誰知道百度搜“SB”排最前的是什么嗎?
- 初学者求教
- 这个sql语句怎么写
- 如何实现控件内容处于复制状态?(asp.net)
- 請教下將漢字儲存到sql的image字段,讀取修改問題
{
Application["count"] = 读取到数据库中的值;
}void Session_Start(object sender, EventArgs e)
{
Application.Lock();//防止多用户同时访问而造成的并行操作
Application["count"]=Convert.ToInt32(Application["count"])+1;
Application.UnLock();
}void Session_End(object sender, EventArgs e)
{
//把Application["count"]存入数据库
}
这个我会
但是
如果我要一个能修改计数器的功能也就是改变了数据库中计数器的值后
页面的APPLICATION也随之改变但现在的问题是我改变了数据库中的值后
Application变量还是以前的变量,值还是以前的值
你上面初始化的时候是数据库的值没错
但总不能叫我每改变一次数据库的值就重起下服务器吧
using System.Linq;
using System.Web;
using System.Web.Caching;
using System.Web.UI;public class BLL
{
static public int 网页计数
{
get
{
string key = GetKey();
object x = HttpContext.Current.Cache[key];
if (x == null)
{
string path = GetFileFullName(key);
if (!File.Exists(path))
x = 0;
else
x = int.Parse(File.ReadAllText(path));
HttpContext.Current.Cache.Insert(key, x, new CacheDependency(path));
}
return (int)x;
}
set
{
string key = GetKey();
File.WriteAllText(GetFileFullName(key), value.ToString());
HttpContext.Current.Cache.Remove(key);
}
} static private string GetKey()
{
Page p = HttpContext.Current.Handler as Page;
return "页面{" + p.Title + "}的计数器";
} static private string GetFileFullName(string key)
{
return HttpContext.Current.Server.MapPath("~/App_Data/" + key + ".txt"); //注意:这里并没有检查路径中的字符合法性。
}
}
你可以在页面设计中写:<asp:Label ID="Label1" runat="server" Font-Size="XX-Large" ForeColor="Red" Text="<%# BLL.网页计数 %>"></asp:Label>然后就在page_load中刷新绑定它:
protected void Page_Load(object sender, EventArgs e)
{
BLL.网页计数++; //这里每当页面显示即更新计数器,你也可以仅在某些功能方法内才改变计数器。
this.Label1.DataBind();
}在你的App_Data目录下会生成相应的文件记录点击数。
这句话是说,每当文件被修改,这个Cache单元就自动刷新了。
VisitCount_BuyCarDetail.aspx.csVehicleBh=Request["VehicleBh"];
../更新数据库计数器代码
Response.Write(当前值);
http://www.ygool.com/BuyCar/BuyCarInfoDetail.aspx?VehicleBh=P10390
自已看吗,是lz想要实现功能吗?