P.B*_*key 8 razor asp.net-mvc-3
所以我可以做到这一点
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>
Run Code Online (Sandbox Code Playgroud)
而且我知道我可以存储SelectedOption在a中div并使用jQuery以简洁的方式设置所选的选项$(document).ready.
是否有一种简洁的方法来直接完成MVC3/razor的任务?
Joa*_*oao 15
就像是:
int selectedOption = ViewBag.SelectedOption;
<select id="SelectedYear" name="SelectedYear">
<option value="2010" selected="@(selectedOption == 2010 ? "selected" : "")">2010</option>
<option value="2011" selected="@(selectedOption == 2011 ? "selected" : "")">2011</option>
<option value="2012" selected="@(selectedOption == 2012 ? "selected" : "")">2012</option>
<option value="2013" selected="@(selectedOption == 2013 ? "selected" : "")">2013</option>
</select>
Run Code Online (Sandbox Code Playgroud)
话虽这么说,这是HtmlHelper.DropDownList的用途.
将您的逻辑放在控制器中,然后通过ViewBag传递IEnumerable.此时,您只需在视图中调用帮助程序:
@Html.DropDownList("optionName", ViewBag.MyOptionsList as IEnumerable<SelectListItem>)
Run Code Online (Sandbox Code Playgroud)
Raf*_*nig 13
TagHelper 不允许在其标记区域中使用 C# 代码。
您可以使用!字符将选项元素转换为常规 html 标签。
例如:
<!option @(ViewBag.CurrrentPage == x ? "selected" : "")>@x<!/option>
Run Code Online (Sandbox Code Playgroud)
int selectedOption = ViewBag.SelectedOption;
<select id="SelectedYear" name="SelectedYear">
<option value="2010" @if(selectedOption == 2010){<text>selected="selected"</text>}>2010</option>
...
</select>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21239 次 |
| 最近记录: |