[英]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.