加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在视图中创建DropDownListFor项

发布时间:2020-12-16 07:11:47 所属栏目:asp.Net 来源:网络整理
导读:我想创建一个DropDownList,其中包含我的一个模型数据的绑定,但我希望在View中构建下拉项,我不希望项目来自Model数据或来自我的控制器.您能否建议如何在View中构建选择列表 ?基本上我想创建这样的东西: %= Html.DropDownListFor(model=model.SomeProperty,cr
我想创建一个DropDownList,其中包含我的一个模型数据的绑定,但我希望在View中构建下拉项,我不希望项目来自Model数据或来自我的控制器.您能否建议如何在View中构建选择列表
?基本上我想创建这样的东西:

<%= Html.DropDownListFor(model=>model.SomeProperty,<<create the dropdown list items here>> %>

请建议.

-Sampat.

解决方法

你不能这样使用它.顾名思义,它用于为使用指定列表项和HTML属性的指定表达式表示的对象中的每个属性返回HTML select元素.

虽然您可以在视图中创建此列表对象,如下所示: –

@Html.DropDownListFor(model => model.DropDownElement,new SelectList(model.DropDownElement,"Id","Name"))

更新

我将以具有Id / Name对的Country Model为例.喜欢以下

public class Country 
{
    public int Id { get; set; }
    public string Name { get; set; }
}

现在,在您的控制器操作中,您可以将其作为选择列表传递:

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,"Name"); // This way you don't need to make any changes with your passing model.
    return View(yourModel);
}

最后在View中,您可以按以下方式使用DropDownListFor.

@Html.DropDownListFor(model => model.YourModelProperty,(IEnumerable<SelectListItem>)ViewBag.DropDownList,"---Select a value---")

在旁注中,如果您只想显示具有值的数字列表,则可以直接输入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>

只需确保“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>

这应该做的伎俩:-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读