編輯: 這裏是我已經證明的確切問題,請看看,只要我點擊提交按鈕它回發並失去了它的狀態,併爲你可以在示例代碼中看到我有三個頁面我張貼的形式 1)EmployeeForm,2)EmployerForm,3)ContractorForm<fieldset隱藏當頁面重新加載 - MVC 5
https://dotnetfiddle.net/wVtwgW
如何堅持的複選框?
一旦我發佈了頁面,如果我的數據模型無效,並且它在屏幕上顯示錯誤消息但它的問題在於它隱藏了fieldset
並且用戶必須單擊複選框再次顯示fieldset
。
我的問題是:我還能如何顯示fieldset
並在其中顯示錯誤信息?
//我的腳本,顯示字段集
<script>
$(document).ready(function() {
$('#Employee').change(function() {
if (this.checked) {
$('#emp').show();
}
});
});
</script>
//它顯示了複選框的字段集:
<fieldset class="fieldset-auto-width">
<legend>
Select Employee
</legend>
<table width="auto">
<tr>
<th>
Employee
</th>
<td>
@Html.CheckBox("Employee")
</td>
</tr>
</table>
</fieldset>
//我的形式,我有所有的輸入文本和按鈕等。 ...
<fieldset id="emp" style="display: none" class="fieldset-auto-width">
<legend>
Employee Display
</legend>
@using (Html.BeginForm("EmployeeServer", "EmployeeForm", FormMethod.Post))
{
@Html.ValidationSummary(true)
<div>..... </div>
}
</fieldset>
您是否考慮過使用'ajax'發佈?它會保持你的頁面狀態。否則,您可以將變量存儲在視圖模型或甚至會話變量中。但這很醜陋。 – Stefan
是你的模型的員工部分? – JamieD77
是的,它是模型的一部分 –