如何在asp.net中查看一个页面中的所有数据?

时间:2012-05-09 09:13:59

标签: asp.net

我在asp.net web应用程序中有五个页面。我在第一页输入信息,然后单击下一步。它转到下一页并在此页面中输入信息。我继续这个过程五页。在第五页单击“提交”按钮之前,我需要查看我在所有以前页面中查看按钮单击时输入的所有信息。这是怎么回事?请咨询。

3 个答案:

答案 0 :(得分:1)

您可以在沿着步骤移动时将数据存储在数据库中,并在最后一步中检索它。您也可以将其存储在Session中,作为替代方案。

当然还有其他方法可以实现这种情况,但我们的想法是以某种方式保留数据并在最后一步中检索它。

答案 1 :(得分:1)

我个人认为你对此有错误的看法。从页面到页面传递数据会给您带来各种麻烦。

有许多方法可以在一个页面上实现此目的。您可以创建5个单独的控件并将它们全部放在单个页面上(如果它们不是太大并且减慢页面加载速度),然后根据用户要查看的内容使相应的控件可见。例如,单击“下一步”使当前控件可见属性为false,然后显示下一个。然后在流程结束时,当您单击完成时,您可以访问每个控件中输入的数据,您可以在控件中创建一个奇特的函数,返回一个填充的类或甚至通过引用传递(我们不会进入到那里)。

您还可以使用Views查看。这是您可以在单一页面上实现的另一种方法。

如果您坚持使用多个页面,那么您可以暂时将数据存储在数据库中,然后在最后一页上从会话中获取ID并将其全部存储为一个。但我不建议这一点,虽然这取决于具体情况。如果您希望它们能够填充表单的一半然后在以后继续,那么建议使用数据库方法,但如果您只希望在完成后存储数据,那么最终将获得大量一半完成的冗余数据使用这种方法。

答案 2 :(得分:0)

解决方案完全取决于您使用的框架和方法。我会尝试用ASP.Net MVC3解决方案来帮助你,因为我认为在使用ASP.Net时,MVC3确实是一种方法。

  • 当用户点击“下一步”按钮时,只需使用JavaScript / jQuery Ajax方法加载局部视图(包含下一步html),或者只使用jQuery show / hide函数显示下一步。
  • 将表单数据保存在一个html表单标记内(或至少一个holder-div)。
  • 当您需要在最后一步提交信息时,只需通过一个jQuery序列化调用收集信息并将其发送到您的ASP.Net接收器。

一些代码段:

显示Razor视图引擎的局部视图:
@Html.Partial("/Views/Instance/_General.cshtml", Model)

通过jQuery加载部分视图 - 有关详细信息,请参阅http://api.jquery.com/category/ajax/
@Html.Partial("/Views/Instance/_General.cshtml", Model)

通过jQuery将数据发布到服务器:

$("#submit-button-id").click(function () {
    var data = $("#form-id").serialize();

    $.ajax({
        url: "/Example/Save",
        type: "POST",
        data: data,
        cache: false,
        success: function (success) {
            if (success) {
                // things worked out just fine..
            }
            else {
                // present some kind of error..
            }
        }
    });
});