我的问题是一行,但这让我很困惑。 为什么我不能在页面的部分类中声明和初始化会话变量,它会抛出错误说
错误1类中的标记'['无效, struct或接口成员 声明E:\ ASP.NET \ Trial \ statemanagement.aspx.cs 17 12 E:\ ASP.NET \ Trial \
下面是我试过的代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class statemanagement : System.Web.UI.Page
{
int count=0;
Session["FirstName"] = 0;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
count = int.Parse(Session["FirstName"].ToString());
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(count.ToString());
Session["FirstName"] =++count;
}
}
我没有得到计数变量的错误我不知道为什么?
任何帮助都将被视为感谢
答案 0 :(得分:3)
这不是宣言。这是一项任务。您不能将赋值语句直接放在类中。您必须将其放在方法或属性中。
参考ASP.NET Session State Overview
会话变量存储在一个 SessionStateItemCollection反对 暴露在外面 HttpContext.Session财产。在一个 ASP.NET页面,当前会话 变量通过 Page对象的Session属性。
会话变量的集合是 由变量名称索引或 通过整数索引。会话变量 是通过引用来创建的 会话变量的名称。你不 必须声明一个会话变量或 明确地将它添加到集合中。
如果您想独立于页面初始化会话变量,可以使用{em> global.asax 中可以找到的Application_Start
和Session_Start
等应用程序事件处理程序。档案。
答案 1 :(得分:1)
您不能在方法范围之外执行Session["FirstName"] = 0;
。尝试将其向下移动到Page_Load
内。