将值从页面传递给http处理程序

时间:2011-06-20 21:19:19

标签: c# asp.net httphandler

我的网络应用程序中有一个.net c#网络表单。我在本页后面的代码中进行了一些处理。

在此页面的标记内,我引用了一个http处理程序,它输出了一个包含在标记中的text / javascript响应类型:

<script type="text/javascript" src="handler.axd"></script>

我想从我的页面传递给http处理程序一些值。我不想通过查询字符串传递它,并且我无法使用会话。

关于如何将数据/变量值从我的页面传递给http处理程序的任何想法或提示?

3 个答案:

答案 0 :(得分:1)

  

我不想通过查询字符串传递它,并且我无法使用会话

Cookies?在主页面中设置一个cookie,并在处理程序中读取cookie的值。

如果这不是您的选择Application State怎么办?在主页面中生成唯一的GUID,并将要传递给处理程序的值存储到应用程序状态。然后将GUID作为请求参数传递给处理程序。在处理程序中使用GUID从应用程序状态获取值。

如果应用程序状态不是您的选项,那么数据库状态(或服务器上的某些其他持久存储机制)如何?

如果所有这些都不是您的选项,请详细描述您的方案,因为我担心您可能会快速用完选项: - )

答案 1 :(得分:0)

我知道您不想使用qs变量,但您可以执行以下操作。在页面加载时创建唯一键,通过该键将变量存储在Application Cache中,并将该键作为查询字符串变量添加到脚本引用上,然后再次从Application Cache访问该信息。这假设你担心安全性或数据大小是现在直接在查询字符串中存在的原因。

答案 2 :(得分:0)

你看过HttpContext.Items集合吗?