我正在做一个项目,我有 ashx 处理程序文件,我想ViewState
在我的 ashx 文件中创建一些数据,然后在 .cs 文件中检查它
我怎么能做到这一点,因为我无法访问ViewState
我的 ashx 文件中的对象
不,您无法访问 Ashx 文件中的页面数据,因为它会在页面请求发生时处理并执行。
您可以使用 Session boject 代替 viewstate
public class Handler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["sessionvariable"] = "value";
}
}
或者只是只读访问会话对象
public class Handler : IHttpHandler, IReadOnlySessionState
{
public bool IsReusable { get { return true; } }
public void ProcessRequest(HttpContext ctx)
{
ctx.Response.Write(ctx.Session["fred"]);
}
}
ViewState
特定于页面并包含在页面客户端的隐藏元素中。
我会建议Session
orCache
对象作为更好的解决方案