C# 在aspx页面中使用PostBackURL时无法获取值

C# 在aspx页面中使用PostBackURL时无法获取值,c#,asp.net,C#,Asp.net,我有一个带有文本框和按钮的页面。我在这个按钮上设置了一个postbackurl,并在目标页面的加载事件上编写了以下代码: if (PreviousPage != null) { string name = ((TextBox)PreviousPage.FindControl("TextBox1")).Text; Response.Write(name); } 使用调试器时,我发现出现以下错误: Object re

我有一个带有文本框和按钮的页面。我在这个按钮上设置了一个postbackurl,并在目标页面的加载事件上编写了以下代码:

if (PreviousPage != null)
        {
            string name = ((TextBox)PreviousPage.FindControl("TextBox1")).Text;

            Response.Write(name);
        }
使用调试器时,我发现出现以下错误:

Object reference not set to an instance of an object. 

我无法找出问题出在哪里,因为当我在上一页上悬停时,我可以看到第一页的名称,当我看到TextBox1的值时,它显示
{System.Web.UI.WebControls.TextBox}
,而不是我输入的值

设置
PostBackUrl
时,实际上是将表单发布到目标页面。这意味着您应该能够使用
请求访问该值。表单

string value = Request.Form["MyTextBoxValue"].ToString();
如果表单方法是
GET
,则应该能够通过
QueryString
访问这些值

编辑


如果您只需要将表单提交到另一个页面,您还可以考虑更改窗体<代码> Actudio<代码>,以指向目标页。然后,您可以使用

请求
对象访问这些值。

我现在可以获得textbox的值。当将aspx页面与母版页一起使用时,我们需要首先获取contentplaceholder的引用,然后使用该引用获取textbox的引用

ContentPlaceHolder Content1 =(ContentPlaceHolder)PreviousPage.Master.FindControl("MainContent");
            TextBox SourceTextBox =
    (TextBox)Content1.FindControl("TextBox1");
       Response.Write(SourceTextBox.Text);

这将打印textbox.text的值。

您没有使用代码获取文本框的值的原因是您没有在.text之后使用.ToString()。它需要:

if (PreviousPage != null)
    {
        string name = ((TextBox)PreviousPage.FindControl("TextBox1")).Text.ToString();

        Response.Write(name);
    }

试试看它是否有效

您使用什么在页面上传输到另一个页面
Server.Transfer
Response.Redirect()
两者都没有…仅将第一页按钮控件的PostBackURL属性设置为abc.aspx。并在第二页的load事件中写入上述代码。好的。。您正在使用上下文处理程序..根据我的信息,我没有使用上下文处理程序!也许我错了,因为我对网络表单还不熟悉。我只知道这个。请提供上一页的标记。。和接收页面名称我已尝试使用您的方法,但它不适用于PostBackURL。您是否尝试仅更改表单操作和方法,而不是使用
PostBackURL