我有一个简单的 ASHX 处理程序,它返回动态生成的图像;图像是从自定义创建的类生成的,属于此类的对象使用 Session 传递给处理程序(我宁愿避免使用 QueryString)。
处理程序用作 ASP 表单上图像的 URL,这非常简单:下拉列表、按钮和图像。基本上,根据用户从列表中选择的内容,一旦按下按钮,就会生成适当的图像。
一开始,实际图像的 Visible 属性设置为 false;我不希望处理程序在数据全部存在之前显示任何内容。
按下按钮后,将添加包含必要对象的所需 Session 参数,并使用 Server.Transfer 刷新页面。当 Page_load 方法检测到 Session 参数已正确设置时,它会将图像上的 Visible 参数设置为 true。
之后,处理程序启动并生成图像。
到目前为止一切都很好......但是,如果用户现在从列表中选择不同的东西并按下按钮,尽管在 Session 中传递了正确的对象,图像将不会被更新。事实上,处理程序甚至不会启动(如果我在那里设置断点)。我需要关闭浏览器窗口并重新打开它才能工作。
任何想法可能是这种行为的原因?
我怀疑答案很简单,我只是不了解 ASP(或处理程序)的基本知识......