Entity framework 如何在重新加载页面后选择插件保留选择选项

Entity framework 如何在重新加载页面后选择插件保留选择选项,entity-framework,jquery-plugins,asp.net-mvc-5,jquery-chosen,Entity Framework,Jquery Plugins,Asp.net Mvc 5,Jquery Chosen,我正在MVC5视图中的表单上使用一系列select元素,并使用jQuerySelected插件初始化。插件看起来应该是这样的,并成功地将所选选项保存回模型。但是,如果页面上的任何其他元素未通过验证且页面被重新加载,则select元素将返回其原始状态,并且不再显示select选项。如何使“选择”列表在重新加载后保留其选定选项 <select class="chosen" id="SE_Visit1" name="@Html.NameFor(model => model.SE_Visit

我正在MVC5视图中的表单上使用一系列select元素,并使用jQuerySelected插件初始化。插件看起来应该是这样的,并成功地将所选选项保存回模型。但是,如果页面上的任何其他元素未通过验证且页面被重新加载,则select元素将返回其原始状态,并且不再显示select选项。如何使“选择”列表在重新加载后保留其选定选项

<select class="chosen" id="SE_Visit1" name="@Html.NameFor(model => model.SE_Visit1)">
    <option value=""></option>
    <option value="0">0 (25)</option>
    <option value="1">1 (23)</option>
    <option value="2">2 (37)</option>
    <option value="3">3 (34)</option>
    <option value="4">4 (12)</option>
</select>

$(document).ready(function () {
    // initialise the Chosen plugin on the select lists
    $('.chosen').chosen({ placeholder_text_single: "Select visit...", width: "75px" });
});

0 (25)
1 (23)
2 (37)
3 (34)
4 (12)
$(文档).ready(函数(){
//在选择列表中初始化所选插件
$('.selected').selected({placeholder_text_single:“Select visit…”,width:“75px”});
});

我试图在元素上添加一个更改事件处理程序来保存所选的值,该值可以用于在重新加载后再次分配该值,但这似乎破坏了页面。非常感谢您的帮助,因为此特定表单有20个select元素,因此用户必须多次完成许多值。

使用
Html.DropDownFor()
帮助程序生成您的
element我尝试过使用Html.DropDownFor())但当它不适合我的时候,我试着改变选择,得到了我需要的基本功能。使用它有可能解决重载问题吗?使用
@Html.DropDownListFor()
将为您提供正确的双向模型绑定。什么对您不起作用?获取一个“视图数据项,该数据项具有键“fieldname”,其类型为System.String(或System.Int16),但必须为“IEnumerable”错误类型,并且无法正确显示占位符。已尝试从数据库返回新的SelectList,并使用“List.Add(new-SelectListItem{Value=“1”,Text=“TheOption”})”手动构建它并将它们传递到ViewBag中,这两个都来自示例。还尝试了两种方法:“@Html.DropDownListFor(model=>model.Field,(SelectList)ViewBag.visions)”和“@Html.DropDownListFor(model=>model.Field,ViewBag.visions as SelectList)”。出现此错误是因为
ViewBag.visions
的值为
null
,可能是因为在发布和返回视图时,您尚未重新分配
ViewBag.visions
值(如在GET方法中所做的那样)