【发布时间】:2015-09-04 05:03:17
【问题描述】:
我正在使用 MVC 框架,在我的页面上我有几个复选框,并且基于用户选中的复选框,我正在显示带有输入/按钮等的 div...但是当用户发布页面时,如果页面有刷新整个页面的任何错误,我的选择都消失了,我必须再次选中复选框以显示 div。
我的问题是如何坚持选择?在这种情况下如何更新选择项是选中哪个复选框并更新控制器中的属性EmployeeChk
我尝试过这样的事情:
.模型类
property bool EmployeeChk {get; set;}
property bool EmployerChk {get;set;}
//查看页面:
<table width="auto">
<tr>
<th>
Employee
</th>
<td>
@Html.CheckBox("Employee")
</td>
</tr>
</table>
<fieldset id="emp" style="@(Model.EmployeeChk ? "" : "display: none")" class="fieldset-auto-width">
<legend>
<legend>
Employee Display
</legend>
@using (Html.BeginForm("EmployeeServer", "EmployeeForm", FormMethod.Post))
{
@Html.ValidationSummary(true)
<div>..... </div>
}
</fieldset>
JQuery:
<script>
$(document).ready(function() {
$('#Employee').change(function() {
if (this.checked) {
$('#emp').show();
}
});
});
</script>
【问题讨论】:
-
将您的复选框绑定到
EmployeeChk属性 -@Html.CheckBoxFor(m => m.EmployeeChk)(并将脚本更改为$('#EmployeeChk').change(.. -
不是那么直接,我这里有演示dotnetfiddle.net/wVtwgW我的问题请看一下
-
您的模型甚至没有
bool EmployeeChk的属性,所以不确定您在这里真正问的是什么。而且由于您只有一个模型 (Person) 回发到相同的控制器方法,所以我不明白您在这里要做什么 -
你为什么还要使用复选框 - 你应该使用单选按钮并摆脱脚本 - 根本没有必要
-
我试图模仿我遇到的问题,如果你想看看我在这里发布的内容
标签: jquery asp.net-mvc checkbox