我有一個外部應用程序(從不同的公司寫的),當點擊一個按鈕時觸發一些請求到我的asp.net Web應用程序。我的應用程序在https://localhost:59917/Main.aspx上運行。如果我點擊外部程序中的請求按鈕,它會顯示以下內容:在asp.net中獲取傳入http請求C#
08:53:25 Requesting web page : https://localhost:59917/Main.aspx?token=mcQYVqoe7LxmBx7jgHBq6FtXXp4uPCzX0FDZStiZDFMDd4l6oB3x5CgysXJKgy2y
所以這個程序現在正在請求我的web應用程序。我現在必須得到這個請求的給定參數(在這個例子中,我需要讀取參數token
)。我發現this thread,在我後面的代碼(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
類。這甚至是獲得我需要的論據的正確方法嗎?
當IsPostBack == false時,上面的代碼應該被移動到Page_Load方法下的main.aspx.cs文件中。 – Steve
爲什麼在'Page_Load()'方法中?這種方法只在啓動時被觸發,對吧?但是這個請求可能隨時被解僱。 – Therk
每次請求到達頁面時都會觸發Page_Load。所以,如果外部應用程序向main.aspx發送請求並傳遞提到的查詢字符串,則應該在main.aspx.cs中收到Page_Load事件 – Steve