有人可以解释一下它是如何工作的吗? (正在使用哪个重载)
@Html.DropDownList("FinancialYearID", "Select FY")
FinancialYearID是视图包中的SelectList。为什么将它作为字符串传递?
另外,如何在输入元素上添加自定义属性?
添加第三个参数
new { @class = "foo" }
不起作用?
是否可以使用默认助手添加数据属性?
谢谢
最佳答案
您正在调用this重载。这将创建一个名为“ FinancialYearID”的下拉列表(这意味着所选值将绑定到名为“ FinancialYearID”的模型或ViewBag属性),并使用“选择FY”作为占位符(空)选择文本。
如果要添加类,则需要DropDown(string, IEnumerable, string, object)
帮助器:
@Html.DropDownList("FinancialYearID", null, "Select FY", new { @class = "foo" })
在这里,您还可以通过传递我已通过
IEnumerable
的SelectList
(例如null
)来填充DropDownList。是的,完全有可能传递数据属性。只需用下划线替换连字符:
@Html.DropDownListFor("FinancialYearID", null,
"Select FY", new { @data_something = "foo" })
如果您有一个要绑定所选值的模型属性,则可以传递一个lamba表达式以指示要绑定的属性,框架将生成适当的
name
:@Html.DropDownList(m => m.FinancialYearID, MySelectList,
"Select FY", new { @data_something = "foo" })
我通常也建议将
SelectList
放在模型中的初始GET请求中,而不要使用ViewBag
。关于asp.net - HTML帮助器DropDownList解释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23937439/