Sam*_*pat 5 asp.net-mvc html.dropdownlistfor
我想创建一个DropDownList,其中包含我的一个模型数据的绑定,但我希望在View中构建下拉项,我不希望项目来自Model数据或来自我的控制器.你能否建议如何在View中构建选择列表基本上我想创建这样的东西:
<%= Html.DropDownListFor(model=>model.SomeProperty,<<create the dropdown list items here>> %>
Run Code Online (Sandbox Code Playgroud)
请建议.
-Sampat.
你不能这样使用它.顾名思义,它用于为使用指定列表项和HTML属性的指定表达式表示的对象中的每个属性返回HTML select元素.
虽然您可以在视图中创建此列表对象,如下所示: -
@Html.DropDownListFor(model => model.DropDownElement,
new SelectList(model.DropDownElement, "Id", "Name"))
Run Code Online (Sandbox Code Playgroud)
更新
我将以具有Id/Name对的Country Model为例.喜欢以下
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,在您的控制器操作中,您可以将其作为选择列表传递:
public ActionResult YourAction()
{
YourModel yourModel = new YourModel(); // Just for reference. I suppose you must be passing some model to your view
ViewBag.DropDownList = new SelectList(db.Countries, "Id", "Name"); // This way you don't need to make any changes with your passing model.
return View(yourModel);
}
Run Code Online (Sandbox Code Playgroud)
最后在View中,您可以按以下方式使用DropDownListFor.
@Html.DropDownListFor(model => model.YourModelProperty,
(IEnumerable<SelectListItem>)ViewBag.DropDownList, "---Select a value---")
Run Code Online (Sandbox Code Playgroud)
在旁注中,如果您只想显示具有值的数字列表,则可以直接输入HTML并使用它,而不是使用DropDownListFor.喜欢跟随
<select id="yourModelPropertyName" name="yourModelPropertyName">
<option value="">---Select Value---</option>
<option value="1">India</option>
<option value="2">Australia</option>
<option value="3">US</option>
<option value="4">England</option>
<option value="5">Finland</option>
</select>
Run Code Online (Sandbox Code Playgroud)
只需确保"yourModelPropertyName"是正确的,它应该是您想要更新的属性的那个
更多更新
在您不想显示所选值的视图中,使用以下代码
<select id="yourModelPropertyName" name="yourModelPropertyName">
<option selected="selected" value="1">@model.YourDropDownList</option>
<option value="2">India</option>
<option value="3">Australia</option>
</select>
Run Code Online (Sandbox Code Playgroud)
这应该做的伎俩:-)
| 归档时间: |
|
| 查看次数: |
11135 次 |
| 最近记录: |