c# - Pag.Previous 页面返回 null
问题描述
我已经尝试了很多次,并以不同的方式来查看为什么“Page.PreviousPage”返回 null 但我没有得到任何结果。我在 stackoverflow 和其他一些网站上查看了大多数帖子。他们都没有工作。有人有什么想法吗?以下是源页面中的 asp 代码,我将其命名为“sourcePage.aspx”。它显示了执行跨页面发布的按钮:
<asp:Button ID="btnCrossPagePostBack" runat="server" Text="Cross page post back navigation" PostBackUrl="~/targetPage.aspx" Width="270px"/>
以下是我将其命名为“targetPage.aspx”的目标页面中的代码:
protected void Page_Load(object sender, EventArgs e)
{
Page previousPage = Page.PreviousPage;
if (previousPage != null && previousPage.IsCrossPagePostBack)
{
lblName.Text = ((TextBox)previousPage.FindControl("txtName")).Text;
lblEmail.Text = ((TextBox)previousPage.FindControl("txtEmail")).Text;
}
else
{
lblStat.Text = "You loaded this page using a technique other than Cross Page Post Back";
}
}
“txtName”和“txtEmail”是源页面中的两个文本框。我知道如何通过使用“Server.Transfer”或强类型引用来做到这一点。我正在寻找通过 Corss 页面回发而不是任何其他方式。有人说我应该使用空页面,然后添加 Web 表单而不是模板 Web 表单,但是没有空页面,Visual Studio 只提供 Web 表单。有什么线索吗?谢谢!
解决方案
观点是正确的。当你想开始一个新项目时,你应该选择“Empty”而不是“Web Form”等。
推荐阅读
- python - Pandas:如果 df1 中的子字符串存在于 df2 的字符串中,则加入两个数据帧(如果字符串包含子字符串)
- sql - 合并2个没有主键的表
- html - 如何在用户界面(AngularJs/HTML)中显示 git 命令结果?
- algorithm - 基于比较的算法,在线性时间内将最大元素与最小元素配对
- sql - SQL - 选择限制为某些字符的所有记录
- python - 如何在小批量上累积我的损失然后计算我的梯度
- php - Laravel 5.7 更改验证邮件发件人
- java - 检测两个任务是否在java中发生冲突
- ruby-on-rails - 使用不同的模型(STI)为集合渲染不同的部分
- c# - ASP.net loginView 控件在用户登录后不更新