3

我正在做一个项目,我有 ashx 处理程序文件,我想ViewState在我的 ashx 文件中创建一些数据,然后在 .cs 文件中检查它

我怎么能做到这一点,因为我无法访问ViewState我的 ashx 文件中的对象

4

2 回答 2

2

不,您无法访问 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"]);
   }
}
于 2012-07-24T10:11:59.030 回答
0

ViewState特定于页面并包含在页面客户端的隐藏元素中。

我会建议SessionorCache对象作为更好的解决方案

于 2012-07-24T10:12:31.650 回答