asp.net – 跨页回发并再次保留源页面中的数据

前端之家收集整理的这篇文章主要介绍了asp.net – 跨页回发并再次保留源页面中的数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用跨页回发(或类似的方法,可能是Server.Transfer)将表单数据(例如,数据集A)发布到页面,然后允许用户添加一些其他信息(例如,数据) -set B)然后将完整的数据集(AB)回发到原始页面,然后流经正常的事件执行过程,类似于在正常的回发中将原始页面上的所有数据AB提交给自己?

我不希望第二页具有原始页面的任何类型知识,它只需要提供两个额外的源并发送数据.这样,不同的页面和控件可以使用此方法获取其他数据.

例如:

第1页可以有一个包含各种文本输入的表单,以及两个隐藏的字段Hidden1 Hidden2,它们都是空的.

当提交第1页上的表单时,向用户显示第2页,他们完成该页面,然后将第1页的所有表单数据发回第1页,但隐藏字段1 2完成.然后,第1页将获得完成所需的所有信息.

我想也许第2页只需要使用PrevIoUsPage并获取其发布数据,添加到它然后将其发布回第1页,但好像它来自第1页而不是第2页.但我不确定如果这是可能的,ASP.NET可能会将其视为篡改数据?

这类似于this ‘question’,但在该示例中,每个页面都是前一页的特定页面.

如果我不是特别清楚的话,很高兴改写这个…

解决方法

您首先创建一个类,以保持您的信息及其从一个页面移动到另一个页面并填充数据.

在每个页面中,您都有一个对此类的引用,一个变量,以太创建一个新的ether从上一页获取它.您将它存储在ViewState上

现在来自Page1 – >第2页.

你将它从Page1发送到

PostBackUrl="Page2.aspx"

在page2.aspx上设置您可以获取信息的位置

<%@ PrevIoUsPageType VirtualPath="~/Page1.aspx" %>

你得到他们……

if (Page.PrevIoUsPage != null)
{
    if(Page.PrevIoUsPage.IsCrossPagePostBack == true)
    {
        GetTheClass = PrevIoUsPage.MyDataClass;
    }
}

另一种手动方式是使您的类可连续,通过post将其作为xml发送,并在下一页解码.

猜你在找的asp.Net相关文章