2016-08-10 36 views
0

后选定的选项我有这样的代码记住后

<select name="item.location" class="selectpicker"> 
 
    
 
    @foreach (var x in JournalConnector.GetAllLocations()) 
 
    { 
 
     <option id="line" value="@x">@x</option> 
 

 
    } 
 
</select>

其获取在数据库中的位置。

我发表我的表单后,我想让它记住选定的选项并再次启动页面。

页面上的代码的其余部分是在这里:JsFiddle

我已经使用本地存储和会话存储尝试,但也节省了我需要保存的值(这将是@x)

+0

难道你不能只从数据库中取回值并匹配你的HTML,而不是将它保存在本地或会话存储中? – James

+0

在表单处理完成的函数中,将选定的值返回到视图,并使用该值选择下拉列表。 –

回答

0
<select name="item.location" class="selectpicker"> 

    @foreach (var x in JournalConnector.GetAllLocations()) 
    {   
     @if(ViewBag.SelectedID ==x.id){ 
      <option id="line" selected="selected" value="@x">@x</option> 
     } 
     else{ 
      <option id="line" value="@x">@x</option> 
     } 
    } 
</select> 

这不是确切的代码,但是这是观念

控制器

保存张贴的ID

到viewbag

ViewBag.SelectedID = ID; 
+0

该解决方案可行,但我建议不要使用ViewBag,因为它是一个动态对象,它可能会变得非常混乱。 你也可以使用DropDownLists的HTML助手,这将简化你的代码。 看看这个SO回答:http://stackoverflow.com/questions/6807256/dropdownlist-set-selected-value-in-mvc3-razor –

+1

谢谢你的解决方案,我用你的一些修改 - 现在它的工作。 –