有人可以解释一下这是如何工作的吗? (正在使用哪个重载)
@Html.DropDownList("FinancialYearID", "Select FY")
FinancialYearID 是 View 包中的 SelectList。为什么它作为字符串传递?
另外如何在输入元素上添加自定义属性?
添加第三个参数
new { @class = "foo" }
不工作?
是否可以使用默认助手添加 data- 属性?
谢谢
最佳答案
您调用this重载。这将创建一个名为“FinancialYearID”的下拉列表(这意味着所选值将绑定(bind)到名为“FinancialYearID”的模型或 ViewBag 属性)和“选择 FY”作为占位符(空)选择文本。
如果你想添加一个类,你需要 DropDown(string, IEnumerable, string, object)
helper :
@Html.DropDownList("FinancialYearID", null, "Select FY", new { @class = "foo" })
在这里,您还可以通过传入
IEnumerable
来填充 DropDownList (例如 SelectList
)我通过了 null
.是的,完全可以传递数据属性。只需用下划线替换连字符:
@Html.DropDownListFor("FinancialYearID", null,
"Select FY", new { @data_something = "foo" })
如果您尝试将选定值绑定(bind)到模型属性,您可以传递一个 Lamba 表达式来指示您要绑定(bind)的属性,并且框架将生成适当的
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/