joh*_* Gu 1 c# asp.net asp.net-mvc html-helper asp.net-mvc-4
我正在开发一个asp.net mvc web应用程序,在我的高级搜索页面上,我想要有三个html.dropdownlist包含静态值: -
完全符合
从...开始
我需要下拉列表在任何搜索字段旁边.
那么任何一个建议如何我可以创建这样的静态html.dropdownlist,因为我所拥有的所有当前下拉列表都填充了我的模型中的动态数据?
谢谢
hut*_*oid 12
您的第一个选择是在视图中包含html:
<select id="selection">
<option>Exact match</option>
<option>Starts with</option>
</select>
Run Code Online (Sandbox Code Playgroud)
第二个选项是使用硬编码的内置html帮助器:
@Html.DropDownList("selection", new List<SelectListItem>() {new SelectListItem { Text="Exact match", Value = "Match"}, new SelectListItem { Text="Starts With", Value = "Starts"}})
Run Code Online (Sandbox Code Playgroud)
如果在您的网站上大量使用它,我更喜欢的第三个选项是创建一个html帮助扩展,您可以像这样简单地使用它:
@Html.SearchSelectionList()
Run Code Online (Sandbox Code Playgroud)
这是以下代码:
public static MvcHtmlString SearchSelectionList(this HtmlHelper htmlHelper)
{
return htmlHelper.DropDownList("selection", new List<SelectListItem>() { new SelectListItem { Text = "Exact match", Value = "Match" }, new SelectListItem { Text = "Starts With", Value = "Starts" } });
}
Run Code Online (Sandbox Code Playgroud)
为什么只使用静态数据时需要 HTML 助手?
<select id="myDropDownList" name="myDropDownList">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)
或者这也许:
@{
var list = new SelectList(new []
{
new {ID="1", Name="volvo"},
new {ID="2", Name="saab"},
new {ID="3", Name="mercedes"},
new {ID="4", Name="audi"},
},
"ID", "Name", 1);
}
@Html.DropDownList("list", list)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19485 次 |
| 最近记录: |