2016-08-10 27 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

謝謝你的解決方案,我用你的一些修改 - 現在它的工作。 –