请求.表格是空的

本文关键字:表格 请求 | 更新日期: 2023-09-27 17:49:41

我有一个aspx表单

<form id="form1" runat="server" method="post">   
<div>
    <asp:Panel ID="Panel1" runat="server" Width="362px">
        <asp:Table ID="Table1" runat="server" CellPadding="5">
            <asp:TableRow>
                <asp:TableCell>
                    <asp:Label ID="Label1" runat="server" Text="UserName :"></asp:Label>
                </asp:TableCell>
                <asp:TableCell>
                    <asp:TextBox ID="userName" runat="server"></asp:TextBox>
                </asp:TableCell>
            ----- SOME CODE HERE---
        </asp:Table>
        <asp:Button ID="btnSubmit" runat="server" Text="Login" OnClick="btnSubmit_Click" style="height: 29px" />
    </asp:Panel>
</form>

我想从这个表单的值张贴到点击事件的不同页面。点击事件代码为:

   protected void btnSubmit_Click(object sender, EventArgs e)
    {

        Response.Redirect(ccpUrl);

    }

当我做一个请求。表单在登陆页它是空的。它抛出空引用异常。
下面是

的代码
 private void GetRequestData()
    {
            _userName = HttpContext.Current.Request.Form["userName"].ToString();
            _password = HttpContext.Current.Request.Form["password"].ToString();
            _transactionID = HttpContext.Current.Request.Form["transactionID"].ToString();
            if (Request.Form["sequenceNumber"] != null)
            {
                int.TryParse((HttpContext.Current.Request.Form["sequenceNumber"].ToString()), out _sequenceNumber);
            }
            else
                _sequenceNumber = 0;
            _tpsSystem = HttpContext.Current.Request.Form["tpsSystem"].ToString();

    }

我做错了什么?我错过什么了吗?

请求.表格是空的

Response.Redirect()只重定向页面。它不转发任何头信息。你需要设置一个跨页面的PostBack。

https://msdn.microsoft.com/en-us/library/ms178139 (v = vs.140) . aspx或http://www.codeproject.com/Tips/604553/Postback-and-Cross-Page-Posting-in-ASP-NET

应该给你一些指导。

或者你可以这样设置按钮:

<asp:Button ID="btnSubmit" runat="server" Text="Login" PostBackUrl="/page2.aspx" style="height: 29px" />

使用ClientIDMode="static"。您的字段名是动态生成的,并且不会与您在ID字段中放置的名称匹配。

<asp:TextBox ID="userName" runat="server" ClientIDMode="Static"></asp:TextBox>

您还应该使用Server.Transfer进行重定向,以确保将值转移到您要重定向到的后续页面。当没有找到键时,Request.Form[...]返回null,并且该值上的ToString()将给您NullReferenceException(因为您不能在null值上调用方法)。