我有一个asp.net mvc5 Web应用程序,有5页。最后三页的信息从前两页传递。所以这就像我的前两页是动态的,前两个是根据前两个变化的
我的程序只做以下事情
我在第一页填写信息,通过邮件请求点击提交按钮,在第二页填写信息,从第二页点击提交按钮。其余页面仅显示结果
但是当我从浏览器表单第二页按回按钮,在第一页更改某些值并按下提交按钮时出现问题,我丢失了第二页的所有数据。我希望第二页保持其以前的状态。
我真的不知道它有多难。那么有些人可以告诉我如何解决这个问题吗?
在此先感谢。这里只是示例代码来说明这是第二页
<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 »"/>
</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 »"/>
</div>
</form>
请注意,我只提供了部分代码,因为我的网页太大了。
答案 0 :(得分:0)
执行此操作的唯一方法是在按键/更改事件中将更改实时传输到服务器。您可以使用ajax调用。 用户第二次导航到第二页后,您可以填写他之前输入的值
答案 1 :(得分:0)
首先如果您正在处理ASP.NET MVC
,我强烈建议使用HTML Helpers
来创建您的视图{{1} }或HTML.TextBox()
等,并将这些元素与您的模型绑定,以便在每次请求时,将根据请求HTML.Label()
的类型更新值。
其次按浏览器的后退/前进按钮会显示最后一个缓存页面,由于该页面的值可能已过时,我建议您拥有自己的下一个上一个按钮并启动获取请求相同。
如果您对浏览器的按钮感到困扰,您可以相应地检查页面引荐来源并在每个帖子请求时进行检查