会话状态值未出现在我的标签中
Session state value doesn't appear in my label
我正在使用 c# asp.net 为我的网页制作点击计数器。我正在尝试使用会话状态来显示来自一个 Web 表单的点击计数器的字符串值,并将其放置在另一个 Web 表单中。它有效,但只有在我来回导航链接以测试增量之后,否则我第一次加载页面时,点击计数器计数不会显示在标签上。关于如何解决这个问题的任何线索,我考虑过使用 cookie。但即使第一次访问者来到我的页面,我的点击计数器仍然无法正确显示。我非常渴望解决这个问题。
这是我尝试使用的会话状态代码。
试图显示标签的表单
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;
}
}
}
我试图从中获取会话状态值的表单
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn;
SqlCommand cmd;
using (conn)
{
//open the connection
conn.Open();
//send the query and store the results in a sqldatareader
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.Read())
{
//set the text of our label to the current # of hits
lblHits.Text = "Default Page Hits - " +
rdr["Hits"].ToString();
}
Session["field1"] = rdr["Hits"].ToString();
}
}
第一次访问时不会显示,因为那个session变量还不存在。您只是在第二个网络表单中创建它。
您应该将从数据库读取信息的代码移动到会话创建的事件处理程序 global.asax。
抱歉,我无法 post 代码,我正在从 Android 应用程序中输入。
protected void Session_Start(object sender, EventArgs e)
{
// Your Hits read code goes here
}
我正在使用 c# asp.net 为我的网页制作点击计数器。我正在尝试使用会话状态来显示来自一个 Web 表单的点击计数器的字符串值,并将其放置在另一个 Web 表单中。它有效,但只有在我来回导航链接以测试增量之后,否则我第一次加载页面时,点击计数器计数不会显示在标签上。关于如何解决这个问题的任何线索,我考虑过使用 cookie。但即使第一次访问者来到我的页面,我的点击计数器仍然无法正确显示。我非常渴望解决这个问题。
这是我尝试使用的会话状态代码。
试图显示标签的表单
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;
}
}
}
我试图从中获取会话状态值的表单
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn;
SqlCommand cmd;
using (conn)
{
//open the connection
conn.Open();
//send the query and store the results in a sqldatareader
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.Read())
{
//set the text of our label to the current # of hits
lblHits.Text = "Default Page Hits - " +
rdr["Hits"].ToString();
}
Session["field1"] = rdr["Hits"].ToString();
}
}
第一次访问时不会显示,因为那个session变量还不存在。您只是在第二个网络表单中创建它。
您应该将从数据库读取信息的代码移动到会话创建的事件处理程序 global.asax。
抱歉,我无法 post 代码,我正在从 Android 应用程序中输入。
protected void Session_Start(object sender, EventArgs e)
{
// Your Hits read code goes here
}