以下是我当前在我的 View 中调用助手的方式(使用 Razor 和 C#):
@Html.ListBoxFor(m => m.Measures, new MultiSelectList(Model.Measures, "MsId"),
new Dictionary<string, object> { { "id", "measureId" } })
这可以很好地在表单元素中设置“id”,但是当我尝试执行以下操作时:
@Html.ListBoxFor(m => m.Measures, new MultiSelectList(Model.Measures, "MsId"),
new Dictionary<string, object> { { "id", "measureId" }, { "name", "measureId" } })
生成的源码依然是:
<select id="measureId" multiple="multiple" name="Measures">
任何帮助将不胜感激。
最佳答案
该名称是从 Expression<Func<TModel, TProperty>>
生成的参数已传递。在您的情况下使用传递的属性的名称 m => m.Measures
名称Measures
用来。这是为了在您的表单发布到操作时启用模型绑定(bind)。
您可以通过将属性名称更改为 MeasuresId 来更改名称值,或者如果不可能,您可以使用 non typed version
@Html.ListBox("measureId", new MultiSelectList(Model.Measures, "MsId"));
关于asp.net-mvc - 如何在 Asp.net MVC 3 中使用 LIstBoxFor 和 MultiSelectList 生成的多选列表框上设置名称属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5941168/