gpt4 book ai didi

c# - 跨页发布

转载 作者:行者123 更新时间:2023-11-30 22:23:48 26 4
gpt4 key购买 nike

我只是在尝试跨页发布的例子。我在 default.aspx 页面中添加了 1 个文本框和 1 个按钮

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="Button" PostBackUrl="~/About.aspx"/>

我已经在 about.aspx 页面的代码隐藏文件中添加了以下代码

protected void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage != null)
{
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
Label1.Text = SourceTextBox.Text;
}
else
Label1.Text = "no value";
}
else
Label1.Text = "no value from previous page";
}

当我在 textbox1 中输入一些文本并单击按钮时,它转到 about.aspx 但标签显示值“无值”,它不显示 textbox1 的文本值,为什么这不能正常工作?

最佳答案

如果您有母版页,则代码 Page.PreviousPage.FindControl("TextBox1"); 不起作用,因为 TextBox1ContentPlaceHolder 下。 并且必须首先找到 ContentPlaceHolder.,然后找到 TextBox1

但是有一个最简单的方法来获取值:

将其放在上一页:

public string TextFromBox1
{
get
{
return TextBox1.Text;
}
}

并在重定向页面上将 aspx 上的上一页声明为:

<%@ Reference Page ="~/PreviousPageName.aspx" %>

并在后面的代码中获取值:

if (Page.PreviousPage != null)
{
if (Page.PreviousPage is PreviousPageClassName)
{
Label1.Text = ((PreviousPageClassName)Page.PreviousPage).TextFromBox1;
}
else
{
Label1.Text = "no value";
}
}
else
Label1.Text = "no value from previous page";

关于c# - 跨页发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13208939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com