将数据从一个页面发送到另一个页面时,C#/asp.net获取错误

将数据从一个页面发送到另一个页面时,C#/asp.net获取错误,c#,asp.net,C#,Asp.net,可能重复: 您好,我正在asp.net中尝试将数据从一个页面发送到另一个页面。我找到了各种方法,并尝试了一些方法来了解它们的工作原理,但我第一次尝试时似乎遇到了错误。以下是我的代码: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <asp:Button ID="Button1" runat="server" Text="Go" PostBackUrl="~/De

可能重复:

您好,我正在asp.net中尝试将数据从一个页面发送到另一个页面。我找到了各种方法,并尝试了一些方法来了解它们的工作原理,但我第一次尝试时似乎遇到了错误。以下是我的代码:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Go" 
    PostBackUrl="~/Default2.aspx" />
<br />
从我在MSDN上读到的内容来看,这应该是可行的,但我肯定遗漏了什么,因为当我按下按钮发送数据并加载Default2.aspx时,我会看到一个错误页面,如下所示:


页面。上一页
仅在使用
服务器时可用。传输
重定向到新页面。如果这是标准的
GET
POST
Response.Redirect
,则此代码将不起作用


从上一页开始。使用
Server.Transfer
可以访问上一页数据。

page.PreviousPage
仅在使用
Server.Transfer
重定向到新页时可用。如果这是标准的
GET
POST
Response.Redirect
,则此代码将不起作用


从上一页开始。使用
Server.Transfer
可以访问上一页数据。

如果对Default.aspx使用母版页,则page.PreviousPage.FindControl不起作用。因为在使用母版页时,Default.aspx中的所有控件都放置在ContentPlaceHolder中,而不是表单中的directy。因此,您可以使用以下代码:

Page.PreviousPage.Form.FindControl("yourContentPlaceHolderID").FindControl("TextBox1");
我想你用的是母版。否则,您的第一个代码必须工作。此外,如果您不使用母版页,并且文本框被放置在占位符或面板中,您的代码将无法正常工作。FindControl不在子容器控件中递归搜索


请参阅链接

如果对Default.aspx使用母版页,则page.PreviousPage.FindControl不起作用。因为在使用母版页时,Default.aspx中的所有控件都放置在ContentPlaceHolder中,而不是表单中的directy。因此,您可以使用以下代码:

Page.PreviousPage.Form.FindControl("yourContentPlaceHolderID").FindControl("TextBox1");
我想你用的是母版。否则,您的第一个代码必须工作。此外,如果您不使用母版页,并且文本框被放置在占位符或面板中,您的代码将无法正常工作。FindControl不在子容器控件中递归搜索


请参阅链接

您使用的是Server.Transfer吗?不,这是我用于此操作的全部代码。我使用的是PostBackUrl=“~/Default2.aspx”若要将数据发送到Default2.aspx,当您尝试执行的操作没有意义时。您可以发布一个答案,说明我应该如何编写代码以使其工作吗?您是否使用Server.Transfer?否这是我用于此操作的全部代码。我使用了PostBackUrl=“~/Default2.aspx”若要将数据发送到Default2.aspx,当您尝试执行的操作没有意义时。您可以发布一个答案,说明我应该如何编写代码以使其工作吗?如果我正确理解此服务器。传输后将数据传输到第二页。对吗?如果不是这样,那么PostBackUrl=“~/Default2.aspx”也可以?
Server.Transfer
在同一请求中加载新页面(记住旧页面)。
Response.Redirect
在新请求中加载新页面(忘记旧页面)。按钮上的按钮只是定义了要发布到哪个页面。我想你想要的只是
((TextBox)this.FindControl(“TextBox1”).Text;
this.TextBox1.Text;
,如果我理解这个核心服务器。传输后将数据传输到第二个页面。对吗?如果是这样,那不是什么PostBackUrl=“~/Default2.aspx”“也可以?
服务器。传输
在同一请求中加载新页面(记住旧页面)。
响应。重定向
在新请求中加载新页面(忘记旧页面)。按钮上的只定义了要发布到的页面。我想你想要的只是
((TextBox)this.FindControl(“TextBox1”).Text;
this.TextBox1.Text;
是的我在使用母版页谢谢你提供的信息是的我在使用母版页谢谢你提供的信息