簡體   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