我有一个像这样创建的下拉列表:
@Html.DropDownListFor(x => x.SelectedBrandCode,
new SelectList(Model.Brands, "Value", "Text"),
"-Select Brand-")
它工作正常,但现在我需要另一个下拉列表,第二个下拉列表不绑定到模型中的属性。第二个应该从相同的List<>
填充,但它只是用于AJAX搜索,不需要在模型中为此添加额外的属性。我希望能够为第二个设置id
和name
。如果那是不可能的 - 我可以做一个独特的课程。但是我从内置的HTML Helpers中看到的唯一选项是为模型中的属性创建输入。有没有办法做到这一点?或者我是否坚持列表上的foreach()
循环并手动制作<select>
元素?
答案 0 :(得分:1)
无论页面上的表单包含什么,actionresult中绑定服务器端的模型都将定义从请求中实际接受的数据。
因此,即使从客户端发送了额外的名称,ID或其他内容,也只会捕获定义为已接受的内容。这有很多原因,其中一个主要原因是它可以防止恶意用户发布虚假数据。
所以只需使用一个字符串作为下拉列表的名称,它将显示在页面上,但不会影响服务器帖子
@Html.DropDownList("BrandDropDown",
new SelectList(Model.Brands, "Value", "Text"),
"-Select Brand-")