簡體   English   中英

如何從ASP.NET Web表單的HttpRequest主體讀取數據

[英]How to read data from HttpRequest body in asp.net web forms

我創建了一個POST請求,並在Request主體上添加了一些憑據信息。

下面的請求詳細信息,我是從提琴手那里捕獲的。

在此處輸入圖片說明

原始數據:

POST http://localhost/AutovhcReport/rdPage.aspx?&rdframeid=rdFrame3416d447-50ed-f635-ed09-cdcb201017ee HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 56
Cache-Control: max-age=0
Origin: null
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: ddllanguage=en-GB; ASP.NET_SessionId=j50rws53zw1wrf4pn0yqmeot; rdPanelExpanded_Table=True; rdTablePanelMenuExpanded=False; rdAllowRedo=False; rdAllowUndo=False

rdReport=SampleReport&rdembedded=true&rdUserName=Dynamic

如何在Asp.net Web窗體C#中讀取正文值?

我已經嘗試過了,LoginPage.aspx

<%@ Page Language="c#" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Collections.Specialized" %>

<script language="c#" runat="server">

    public void Page_Load(object sender, EventArgs e)
    {
        string username= HttpContext.Current.Request.Form["rdUserName"].ToString();
        Session.Add("rdUserName",username);  
        Session.Add("SiteCode", "7");
        Session.Add("UserName", "xxx");
        Session.Add("Password", "xxxxx");
        HttpContext.Current.Response.Redirect("rdPage.aspx");

    }
</script>

在ASP.NET Web表單中,存在保存所有http數據的對象。 因此,在所需的事件處理程序中,只需按鍵讀取值

string val = Request.Form["rdReport"]

或迭代數組

Request.Form[]

Request.Form["key"]應該可以工作。 另外,您可以嘗試Request.Form[index]這是我的示例代碼:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Write(Request.HttpMethod.ToString() + "<br/>");
    if (Request.HttpMethod == "POST")
    {
        if (Request.Form.Count > 0)
        {
            Response.Write(Request.Form[0] +"<br/>");
            Response.Write(Request.Form[1] + "<br/>");
            Response.Write(Request.Form[2] + "<br/>");
        }
    }
}

這是fiddler的屏幕截圖:

在此處輸入圖片說明

看來您需要調試您的應用程序才能查看失敗的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM