打开网页时,累计值自加1 该如何实现? 打开网页时,累计值自加1 该如何实现?方法不限,要具体代码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected void Page_Load(object sender, EventArgs e) {if (!IsPostBack) {if(session["value"]!= null){session["value"] = int.Parse(session["value"] ) +1;}else{session["value"] =0}} } 一楼的用的是session如果用page 的话累计值就会增加的很快吧? 那样Session就不能用了。。因为Session时单用户内置对象,关掉浏览器就归零了。。可以用application保存与服务器一致,但考虑到服务器不可能一直开着,可以用文件、数据库或其它固定形式保存 在webconfig里的session_start中定义一个变量,+1,session_end 中 -1,网页中直接调用这个变量即可! if (!IsPostBack) { if(session["value"]!= null) { session["value"] = int.Parse(session["value"] ) +1; } else { session["value"] =0 }一楼的代码,我有一点不太懂就是if(session["value"]!= null) 不知道是什么意思。如果我想要一个变量 比如我定义 int num如果网页被打开 ++num 用代码该怎么实现呢?请帮忙提供一个具体的。谢谢 <%'一个简单的计数器程序Set fs=CreateObject("Scripting.FileSystemObject")Set a=fs.openTextFile(server.mappath("count.txt"))count=a.readlineresponse.write "欢迎您,您是本站第:" & count response.write "位访问者!"count=count+1Set fs = CreateObject("Scripting.FileSystemObject")Set a=fs.createTextfile(server.mappath("count.txt"))a.writeline (count)%>建个count.txt 呵呵,session还是比较好用的。我一直这样用。学习大家的其他办法。 最好用application吧void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 //这里可以读一个文件中的值,功能可以自己扩充Application["user_sessions"] = 0 } void Application_End(object sender, EventArgs e) { //在应用程序关闭时运行的代码//在这里将数字存储 } void Application_Error(object sender, EventArgs e) { //在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e) { //在新会话启动时运行的代码Application.Lock();//先锁定应用程序,这里大家都明白 Application["user_sessions"] = (int)Application["user_sessions"] + 1; //当session_start方法启动时判断当前有几个人在线,然后赋值到Application["user_sessions"]变量.(int)强制转换类型,卸箱,装箱! Application.Unlock(); } void Session_End(object sender, EventArgs e) { //在会话结束时运行的代码。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式 //设置为 StateServer 或 SQLServer,则不会引发该事件。//若为总数,则不要这里的Application.Lock(); Application["user_sessions"] = (int)Application["user_sessions"] - 1; //当用户离开站点的时候,减1 卸箱,装箱! Object=int Application.Unlock(); } 做统计在线的最好用Application内置对象记录在线人数建全局Global.asax页面,代码如下:<%@ Application Language="C#" %><script runat="server"> void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Application["Online"] = 0; } void Application_End(object sender, EventArgs e) { // 在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 Application.Lock(); Application["Online"] = (int)Application["Online"] + 1; Application.UnLock(); } void Session_End(object sender, EventArgs e) { // 在会话结束时运行的代码。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer // 或 SQLServer,则不会引发该事件。 Application.Lock(); Application["Online"] = (int)Application["Online"] - 1; Application.UnLock(); } </script>然后你在你的aspx页面获取Application["Online"]的值就ok啦。不过这个不是很准,现在统计在线的只是一个大概,要做到精准的统计最好用ajax或者数据库。 if(session["value"]!= null)就是不为空 或者就是在txt或db里面用代码控制了 菜鸟 自定义命名空间的方法有点小错误 解释清楚的散50分 大侠帮忙阿 SQL存储过程的返回值类型? 很简单的一个问题,送分! 请问怎么将以xslt转换后的数据存放到一个字符串中? .NET Web应用连接SQL2005超时 请问如何动态地给一个datagrid添加一条记录? 如何通过asp.net读取网页的原代码 问一下服务器的问题 请问不使用服务器端控件如何实现文件上传? 支持水源区可以贴图!放分,支持! 为什么自定义控件没能接受参数 为什么自定义控件没能接受参数
{
if (!IsPostBack)
{
if(session["value"]!= null)
{
session["value"] = int.Parse(session["value"] ) +1;
}
else
{
session["value"] =0
}}
}
如果用page 的话累计值就会增加的很快吧?
{
if(session["value"]!= null)
{
session["value"] = int.Parse(session["value"] ) +1;
}
else
{
session["value"] =0
}一楼的代码,我有一点不太懂就是if(session["value"]!= null) 不知道是什么意思。
如果我想要一个变量 比如我定义 int num如果网页被打开 ++num 用代码该怎么实现呢?
请帮忙提供一个具体的。谢谢
'一个简单的计数器程序
Set fs=CreateObject("Scripting.FileSystemObject")
Set a=fs.openTextFile(server.mappath("count.txt"))
count=a.readline
response.write "欢迎您,您是本站第:" & count
response.write "位访问者!"
count=count+1
Set fs = CreateObject("Scripting.FileSystemObject")
Set a=fs.createTextfile(server.mappath("count.txt"))
a.writeline (count)
%>建个count.txt
void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
//这里可以读一个文件中的值,功能可以自己扩充
Application["user_sessions"] = 0 }
void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码
//在这里将数字存储 }
void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码Application.Lock();//先锁定应用程序,这里大家都明白
Application["user_sessions"] = (int)Application["user_sessions"] + 1;
//当session_start方法启动时判断当前有几个人在线,然后赋值到Application["user_sessions"]变量.(int)强制转换类型,卸箱,装箱!
Application.Unlock();
} void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。//若为总数,则不要这里的Application.Lock();
Application["user_sessions"] = (int)Application["user_sessions"] - 1;
//当用户离开站点的时候,减1 卸箱,装箱! Object=int
Application.Unlock();
}
建全局Global.asax页面,代码如下:
<%@ Application Language="C#" %><script runat="server"> void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["Online"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码 }
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application.Lock();
Application["Online"] = (int)Application["Online"] + 1;
Application.UnLock();
} void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["Online"] = (int)Application["Online"] - 1;
Application.UnLock();
}
</script>然后你在你的aspx页面获取Application["Online"]的值就ok啦。
不过这个不是很准,现在统计在线的只是一个大概,要做到精准的统计最好用ajax或者数据库。
if(session["value"]!= null)
就是不为空