是否可以使用跨页回发(或类似方法,可能是Server.Transfer)将表单数据(例如,数据集A)发布到页面,然后允许用户添加一些其他信息(比如说,数据集B)然后回发到原始页面的完整数据集(A + B),然后流经正常事件执行过程,类似于在原始页面上提交所有数据A + B本身是在一个正常的回发?
我不希望第二页具有原始页面的任何类型知识,它只需要提供两个额外的源并发送数据。这样,不同的页面和控件可以使用此方法获取其他数据。
例如:
页面1可以有一个包含各种文本输入的表单,以及两个隐藏的字段Hidden1 + Hidden2,它们都是空的。
当提交第1页上的表单时,向用户显示第2页,他们完成该页面,然后将第1页的所有表单数据发回第1页,但隐藏字段1 + 2完成。然后,第1页将获得完成所需的所有信息。
我想也许第2页只需要使用PreviousPage并获取其发布数据,添加到它然后将其发布回第1页,但好像它来自第1页而不是第2页。但是我'我不确定这是否可行,ASP.NET可能会将其视为篡改数据?
这类似于this 'question',但在该示例中,每个页面都是前一页的特定页面。
如果我不是特别清楚的话,很高兴重写这个......
答案 0 :(得分:0)
首先创建一个类,保持您的信息及其从一个页面移动到另一个页面并填充数据。
在每个页面中,您都有一个对此类的引用,一个变量,以太创建一个新的ether从上一页获取它。您将它存储在ViewState
现在来自Page1 - >第2页。
您可以将Page1设置为
从Page1发送PostBackUrl="Page2.aspx"
在page2.aspx上,您可以设置获取信息的位置
<%@ PreviousPageType VirtualPath="~/Page1.aspx" %>
你得到他们......
if (Page.PreviousPage != null)
{
if(Page.PreviousPage.IsCrossPagePostBack == true)
{
GetTheClass = PreviousPage.MyDataClass;
}
}
另一种手动方式是使您的课程可连续,通过邮寄将其作为xml发送,并在下一页解码。