如何访问global.asax中的javascript变量?

如何访问global.asax中的javascript变量?,javascript,asp.net,Javascript,Asp.net,我在default.aspx页面中有一个javascript变量 var name="user1" window.location="test.aspx" 此页面将提交到test.aspx和global.asax,在触发应用程序_BeginRequest事件时,我需要访问变量“name”。我需要在没有饼干的情况下做这件事。 任何人都可以在这方面帮助我?var name=“user1”是一个javascript变量,您可以在应用程序\u BeginRequest中从请求对象访问该变量,前提是在

我在default.aspx页面中有一个javascript变量

var name="user1"

window.location="test.aspx"
此页面将提交到test.aspx和global.asax,在触发应用程序_BeginRequest事件时,我需要访问变量“name”。我需要在没有饼干的情况下做这件事。 任何人都可以在这方面帮助我?

var name=“user1”
是一个javascript变量,您可以在
应用程序\u BeginRequest
中从请求对象访问该变量,前提是在重定向时已将其传递到
test.aspx
页面:

var name = "user1";
window.location.href = 'test.aspx?name=' + encodeURIComponent(name);
然后:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    string name = HttpContext.Current.Request["name"];
    if (!string.IsNullOrEmpty(name))
    {
        // the name variable was present in the request => do something with it
    }
}
如果“提交”是指执行
POST
GET
请求,则需要将
name
作为
url编码的
字符串作为表单
POST
GET
请求中的querystring参数传递给服务器


然后,在
应用程序中_BeginRequest
当前
HttpContext

访问
请求
?java源代码中的神秘变量在哪里?好的,下一个问题:为什么需要提交一个服务器端已知值的变量(以脚本标记的形式发送给客户端)?在这种情况下,使用
method=“POST”
。但请记住,如果这是一些敏感信息,它甚至不应该出现在javascript代码中。如果您正在进行某种身份验证,我建议您使用表单身份验证,而不是在这里重新设计一些轮子。我使用window.location导航到下一页。我怎么能用这里的邮局?你不能
window.location.href
使用GET。如果您想使用POST,则必须使用带有
method=“POST”
或AJAX请求。但正如我所说,如果这是一些敏感信息,你根本不应该做类似的事情,因为恶意用户可以伪造任何请求,并用他想要的任何内容替换该值,即使你正在使用POST。因此,不要误以为如果查询字符串中没有该值,就可以对其进行保护。在这种情况下,我需要使用window.location。那么在这里创建表单有什么用呢?无论如何,我不会发布页面。请解释。不,Global.asax在服务器上运行。此值需要从客户端到达服务器。有两种方法可以做到这一点:获取或发布。该死,我觉得我在重复我自己,我们在这里转了一圈:-)我使用window.location提交到下一页。但是我不想在URL中显示查询字符串,这不是您提交
POST
请求的方式,更改
窗口。location
使用
GET
执行“重定向”。