asp.net Mvc查询后保持页面状态的问题
这是个简单的view:
<%using(Html.BeginForm("Write","mgm")){ %>
<%=Html.Label("分公司:") %>
<%=Html.DropDownList("corp") %>
<br />
<%=Html.Label("部门:") %>
<%=Html.DropDownList("dept") %>
<br />
<input id="Submit1" type="submit" value="查询" />
<%} %>
<table style="width: 100%;">
<tr>
<td> ID</td>
<td> 姓名</td>
<td> 分公司</td>
<td> 部门</td>
</tr>
</table>
分公司和部门联动,点击查询按钮下面的table能显示出员工信息。现在我用jquery实现了联动,但是点击submit按钮后,从controller取到数据后,页面重新加载,怎么保持页面状态(页面保存我选择的分公司和部门)?
------解决方案--------------------你得意思是保持原来DropDownList选择的内容吧?
这个你必须像
<%: Html.DropDownListFor(model => model.UserName, Model.DDList, new { @class = "dropDown", style = "width:155px" })%>
在重新加载的时候给 Model.DDList 传一个值,即:你刚选择的值,类似于下标。
------解决方案--------------------它没有状态机制,要么愚蠢地一次次地重新查询数据库来重新产生控件,要么就自己模仿webform重写一套机制。
------解决方案--------------------比如说,你选择了几行数据把它们的样式改为特殊提示样式,然后一块处理。在这个处理之前,过程中用户提交了一个值,那么前边选择的状态丢不丢呢?如果这是一个丰富的交互界面,页面上有几十个地方都可能这样打乱思绪去提交时,状态如何自动管理?晕吧!
------解决方案--------------------我给你个建议。如果不能使用webform,就好好使用你的jquery(千方百计比较当前页面刷新),别被什么mvc这个概念忽悠了。