Asp.net-Mvc-3

在 MVC3 中設置選中的選項

  • November 19, 2021

所以我能走到這一步

string selectedOption = ViewBag.SelectedOption;

<select id="SelectedYear" name="SelectedYear">       
   <option value="2010">2010</option>//if(selectedOption == 2010)...meh...
   <option value="2011">2011</option>             
   <option value="2012">2012</option>
   <option value="2013">2013</option>
</select>

而且我知道我可以SelectedOption在.div``$(document).ready

是否有一種簡潔的方法可以直接使用 MVC3/razor 完成任務?

就像是:

int selectedOption = ViewBag.SelectedOption;

<select id="SelectedYear" name="SelectedYear">       
   <option value="2010" @(selectedOption == 2010 ? "selected" : "")>2010</option>
   <option value="2011" @(selectedOption == 2011 ? "selected" : "")>2011</option>             
   <option value="2012" @(selectedOption == 2012 ? "selected" : "")>2012</option>
   <option value="2013" @(selectedOption == 2013 ? "selected" : "")>2013</option>
</select>

話雖如此,這就是HtmlHelper.DropDownList的用途。

將您的邏輯放在控制器中,然後通過ViewBag傳遞一個**IEnumerable。那時你只需要在視圖中呼叫助手:

@Html.DropDownList("optionName", ViewBag.MyOptionsList as IEnumerable<SelectListItem>)

引用自:https://stackoverflow.com/questions/7693083