我在.NET C#中创建了一个IHttpHandler
,它将html片段返回到经典的asp页面。
经典的asp页面通过使用vbscript中的IHttpHandler
或JavaScript中的Ajax调用的基本http请求与ServerXMLHTTP
进行通信。
现在,我需要一种方法来共享我在vbscript中的变量,但不能在.NET应用程序的javascript中共享。
第一位,在经典asp和.net之间共享变量不是问题,因为我可以将它添加到http请求中。因为该变量在javascript中不可用,但在这种情况下我不能这样做。
我有一个想法,我可以将变量缓存在.NET应用程序中,并使用缓存版本进行javascript调用。但为了实现这一点,我需要一种方法来唯一地识别.NET中的“客户端”......
我尝试将System.Web.SessionState.IRequiresSessionState
添加到我的HttpHandler并使用SessionId,但这不起作用,因为每次调用HttpHandler似乎都会获得一个新ID。
我是否正确思考?我有什么选择?
答案 0 :(得分:3)
你可以将你的价值放在一个cookie中,然后你可以用javascript阅读并对它做任何事情,包括将它发送到.net应用程序的请求......
答案 1 :(得分:0)
如何在页面上设置一个隐藏变量,您可以在其中存储asp页面的服务器端vb脚本中的变量值。
然后,您可以使用Javascript查询此变量,以通过您的ajax调用发送到Asp.Net处理程序。
答案 2 :(得分:0)
最后,我解决问题的方法如下:
<meta>
元素)可能不是最好的解决方案但似乎在我的情况下运作良好......
答案 3 :(得分:0)
我也推荐一个cookie。您也可以从数据库加载该值,但这样做有点过分。