繁体   English   中英

在asp.net C#中获取传入的http请求

[英]getting incoming http request in asp.net C#

我有一个外部应用程序(由其他公司编写),当按下按钮时会向我的asp.net Web应用程序发出一些请求。 我的应用程序在https:// localhost:59917 / Main.aspx上运行 如果我在外部程序中点击了请求按钮,它将显示以下内容:

08:53:25 Requesting web page : https://localhost:59917/Main.aspx?token=mcQYVqoe7LxmBx7jgHBq6FtXXp4uPCzX0FDZStiZDFMDd4l6oB3x5CgysXJKgy2y

因此,此应用现在正在请求我的Web应用。 现在,我必须获取此请求的给定参数(在本示例中,我需要读取参数token )。 我找到了这个线程,并在(Main.aspx.cs)后面的代码中尝试了以下操作:

protected void btnListener_Click(object sender, EventArgs e)
{
    string token = Request.QueryString["token"];
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AlertToken", "alert('" + token + "');", true);
}

但这将返回一个空字符串。 由于我是ASP.NET和Web开发的新手,因此不确定我是否正确理解HttpRequest类。 这甚至是获得我需要的论据的正确方法吗?

如果外部应用程序向main.aspx页面发出请求,则页面生命周期中将发生Page_Load事件。

因此,您只需在设计人员已经为您编写的Page_Load事件处理程序中移动代码即可

protected void main_Load(object sender, EventArgs e)
{
    string token = Request.QueryString["token"];
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AlertToken", "alert('" + token + "');", true);
}

实际上,每当您单击同一页面上的按钮时,每次对页面的请求都通过ASP.NET引擎时,就会调用Page_Load事件。

在单击按钮的事件处理程序之前,您会收到对Page_Load事件处理程序的调用。 您可以发现这是否是页面第一次加载,查看IsPostBack属性(当加载是在同一页面上执行的操作的结果时为true,在加载页面以向最终用户展示其界面时为false )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM