2015-08-23 6 views
0

У меня есть веб-приложение asp.net mvc5, которое имеет 5 страниц. Информация о последних трех страницах передается из первых двух. Так что мои первые две страницы динамичны и последние три изменения в соответствии с первыми двумя.
Моя программа делает только следующее:
Я заполняю информацию на первой странице, нажимаю кнопку отправки через запрос по почте, заполняю информацию на второй странице и нажимаю кнопку отправки со второй страницы. Остальные страницы отображают только результат.
Но проблема возникает, когда я нажимаю кнопку «Назад» на второй странице формы браузера, меняю значение на первой странице и нажимаю кнопку «Отправить», я теряю все данные со второй страницы. Я хочу, чтобы вторая страница сохраняла свое состояние независимо от того, что было раньше.
Я действительно не знаю, как это сложно. Так может кто-нибудь, пожалуйста, сообщите мне, как решить эту проблему? Спасибо advance.Here просто пример кода для иллюстрации Это вторая страницаКак сохранить состояние в MVC

<form action="thirdpage.cshtml" method="post"> 
 
      MARKET VALUE OF HOUSE 2nd page: 
 
     <input id="MVOH" type="number" step="any" name="MVH" /><br/><br/> 
 
       
 
      MORTGAGE OWING 2nd page: 
 
      <input id="MO" type="number" step="any" name="MOwing" /><br/><br/> 
 
      MORTGAGE REPAYMENT 2nd page 
 
      <input id="MPPM" type="number" name="MP" /> 
 
      <select id="Sel"> 
 
       <option value="0">Per week</option> 
 
        <option value="1">Per fortnight</option> 
 
        <option value="2">Per Month</option> 
 
       </select><br/><br/> 
 
      <div> 
 
       
 
       <input id="next" type="submit" value="Income Expenses &raquo;"/> 
 
      </div> 
 
    </form>

И первая страница

<form action="secondpage.cshtml" method="post"> 
 
      
 
      
 
        MARKET VALUE OF HOUSE: 
 
        <input id="MVOH" type="number" step="any" name="MVH" /><br/><br/> 
 
       
 
        MORTGAGE OWING: 
 
        <input id="MO" type="number" step="any" name="MOwing" /><br/><br/> 
 
        <td>MORTGAGE REPAYMENT</td> 
 
        <td> 
 
         <input id="MPPM" type="number" name="MP" /> 
 
         <select id="Sel"> 
 
          <option value="0">Per week</option> 
 
          <option value="1">Per fortnight</option> 
 
          <option value="2">Per Month</option> 
 
         </select><br/><br/> 
 
      <div> 
 
       
 
       <input id="next" type="submit" value="Income Expenses &raquo;"/> 
 
       
 
       
 
      </div> 
 
      
 
     </form>

Пожалуйста, я предоставили только часть кода, потому что моя страница так большой.

+0

Если бы вы могли разделить немного кода, то мы могли бы может помочь вам с какой-то вещью – KhawajaAtteeq

+0

Или вы можете найти множество примеров использования файлов cookie для хранения данных и управления состоянием. – KhawajaAtteeq

+0

Я надеюсь, что это [LINK] (http://stackoverflow.com/questions/8183790/asp-net-mvc-keeping-last-page-state) поможет вам понять – KhawajaAtteeq

ответ

0

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

+0

Не могли бы вы дать мне очень короткий сценарий. Хотя моя страница содержит много полей ввода, но вы можете объяснить мне, предоставив только один вход на обеих страницах. большое спасибо –

0

Во-первых Если вы имеете дело с ASP.NET MVC, я бы настоятельно рекомендовал использовать HTML Helpers создать свой вид например HTML.TextBox() или HTML.Label() и т. д., и привязать эти элементы к вашей модели, чтобы при каждом запросе значения были обновлены в соответствии с типом запроса GET/POST.

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

В случае, если вы обеспокоены кнопки браузера, вы можете проверить страницу реферер, соответственно, и имеют тот чек на каждом запросе после

Смежные вопросы