ABCpdf访问登录区域内的页面

时间:2013-01-05 11:53:57

标签: c# asp.net abcpdf

在我的网站中,我使用ABCpdf从HTML动态生成pdf。 我有两个条件:

  1. 用户已登录,显示为第一页,第一页为pdf
  2. 用户未登录显示的第二页,并以PDF格式
绘制第二页

我的代码是这样的:

 string url = HttpContext.Current.Request.Url.AbsoluteUri;
        Doc theDoc = new Doc();
        theDoc.AddImageUrl(url);
        theDoc.Save(HttpContext.Current.Server.MapPath("~/media/pdf/1212.pdf"));
        theDoc.Clear();

现在问题是这样的,我可以在用户登录时看到第一页但是在绘制PDF时它包含未登录的页面(第二页)。

我使用inproc会话模式来存储我的登录详细信息。据我所知,即使用户已登录,当此代码执行时,服务器返回未登录的页面,获取HTML以呈现PDF的请求不会延续会话,但会创建一个新的。

任何人都能给我任何线索吗?

1 个答案:

答案 0 :(得分:1)

原因可能是ABCPdf在呈现HTML时的工作方式是访问要呈现的页面的用户不是,但是服务器和服务器没有用户登录会话,它将像访问页面一样访问页面您只需在服务器上的浏览器中键入URL即可。因此,当您通过ABCpdf访问该页面时,它将表现为用户未登录。

我过去克服此问题的方法是将加密的查询字符串pram传递给页面,并在PDF呈现页面上检查这一点,并根据该pram值更改显示的结果。