从模型列表中创建下拉列表

时间:2014-07-09 18:54:26

标签: c# html asp.net asp.net-mvc razor

我有一个像这样创建的下拉列表:

    @Html.DropDownListFor(x => x.SelectedBrandCode, 
                           new SelectList(Model.Brands, "Value", "Text"),
                           "-Select Brand-")

它工作正常,但现在我需要另一个下拉列表,第二个下拉列表不绑定到模型中的属性。第二个应该从相同的List<>填充,但它只是用于AJAX搜索,不需要在模型中为此添加额外的属性。我希望能够为第二个设置idname。如果那是不可能的 - 我可以做一个独特的课程。但是我从内置的HTML Helpers中看到的唯一选项是为模型中的属性创建输入。有没有办法做到这一点?或者我是否坚持列表上的foreach()循环并手动制作<select>元素?

1 个答案:

答案 0 :(得分:1)

无论页面上的表单包含什么,actionresult中绑定服务器端的模型都将定义从请求中实际接受的数据。

因此,即使从客户端发送了额外的名称,ID或其他内容,也只会捕获定义为已接受的内容。这有很多原因,其中一个主要原因是它可以防止恶意用户发布虚假数据。

所以只需使用一个字符串作为下拉列表的名称,它将显示在页面上,但不会影响服务器帖子

@Html.DropDownList("BrandDropDown", 
                       new SelectList(Model.Brands, "Value", "Text"),
                       "-Select Brand-")