2012-05-09 4 views
-1

У меня есть пять страниц в веб-приложении asp.net. Я ввел информацию на первой странице и нажмите далее. он переходит на следующую страницу и вводит информацию на этой странице. Я продолжаю этот процесс на пять страниц. Перед тем, как нажать кнопку «Отправить» на пятой странице, мне нужно просмотреть всю информацию, введенную мной во всех предыдущих просмотренных кнопках. Как это сделать? PLS Совет.Как просмотреть все данные на одной странице в asp.net?

+1

[Что вы пробовали] (http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CHwQFjAA&url=http%3A%2F%2Fmattgemmell.com%2F2008% 2F12% 2F08% 2Fwhat-у-вы испытанный% 2F & е = UDaqT8mSBIPi4QTlsb28CQ & USG = AFQjCNF5YOT1O7kvNT_JGM-bDOiVdCSrHQ & Sig2 = hiOIVrt1O2sRBSZa5eEpOA)? –

ответ

1

Вы можете хранить свои данные в базе данных при перемещении по этапу и получать его на последнем шаге. Вы также можете сохранить его в сеансе, в качестве альтернативы.

Конечно, существуют другие способы реализации этого сценария, но идея состоит в том, чтобы как-то сохранить данные и получить их на последнем этапе.

1

Я лично считаю, что вы ошибетесь по этому поводу. Передача данных со страницы на страницу вызовет у вас всевозможные проблемы.

Существует несколько способов достижения этой цели на одной странице. Вы можете создать 5 отдельных элементов управления и поместить их на одну страницу (если они не слишком большие и замедляют загрузку страницы), затем сделайте соответствующий элемент управления видимым в зависимости от того, что пользователь должен видеть. Например, когда вы нажимаете далее, сделайте текущее свойство управления видимым ложным, а затем отобразите следующий. Затем в конце процесса, когда вы нажимаете «завершить», вы можете получить доступ к введенным данным из каждого элемента управления, вы можете создать причудливую функцию в элементах управления, которые возвратят вам заполненный класс или даже пройдут по ссылке (мы не будем входить к этому здесь).

Вы также можете ознакомиться с использованием Views. Это другой метод, который можно реализовать на отдельной странице.

Если вы настаиваете на использовании нескольких страниц, вы можете временно сохранить данные в базе данных, а затем на последней странице получить идентификаторы из сеанса и сохранить их окончательно как один. Но я бы не советовал это, хотя это зависит от ситуации. Если вы хотите, чтобы они заполнили половину формы, а затем продолжили более позднюю дату, тогда был бы целесообразным использовать метод базы данных, но если вы хотите, чтобы данные сохранялись после завершения, то в итоге вы получите много полных избыточных данных используя этот метод.

0

Решение полностью зависит от структуры и методов, которые вы используете. Я попытаюсь помочь вам с решением ASP.Net MVC3, так как я считаю, что MVC3 действительно подходит для использования в ASP.Net.

  • Когда пользователь нажимает на кнопку «следующий», просто загрузить частичный вид (содержащий следующий шаг HTML) с помощью метода JavaScript/JQuery Ajax, или просто представить следующий шаг с помощью с помощью шоу JQuery/скрыть функции.
  • Сохраните данные формы в пределах одного html-тега формы (или, по крайней мере, одного держателя-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.. 
      } 
     } 
    }); 
}); 
Смежные вопросы