我在c#asp.net上为我的网页打了一个点击计数器。我尝试使用会话状态从一个Web表单显示计数器的字符串值,并将其放在另一个Web表单中。它工作,但只有在我来回导航链接以测试增量之后,否则我第一次加载页面时,命中计数器计数不会显示在标签上。任何线索我怎么能解决这个问题,我想到了使用cookie。但即使第一次访问者来到我的页面,我的点击计数器仍然无法正确显示。我非常渴望解决这个问题。
这是我正在尝试的会话状态代码。
尝试显示标签的表单
#include <iostream>
using namespace std;
class A {
public:
virtual void foo() {
cout<<"A"<<endl;
}
};
class B: public virtual A {
public:
virtual void foo(){
cout<<"B"<<endl;
}
};
class C : public virtual A {
public:
virtual void foo(){
cout<<"C"<<endl;
}
};
class D : public B, public C {
public:
void print(){
foo();
}
};
int main () {
D d;
d.print();
return 0;
}
我试图从
获取会话状态值的表单using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
namespace VideoWebsite
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string field1 = (string)(Session["field1"]);
Label1.Text = field1;
}
}
}
答案 0 :(得分:1)
首次访问时不会显示,因为该会话变量尚不存在。您只能在第二个Web表单中创建它。
您应该将从数据库中读取信息的代码移动到global.asax中的会话创建事件处理程序。
抱歉,我无法发布代码,我是从Android应用中输入的。
protected void Session_Start(object sender, EventArgs e)
{
// Your Hits read code goes here
}