首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为下拉列表(MVC)中的每个元素设置唯一的id

为下拉列表(MVC)中的每个元素设置唯一的id
EN

Stack Overflow用户
提问于 2016-05-10 08:54:07
回答 3查看 329关注 0票数 2

我似乎不知道如何为SelectList中的每个元素设置唯一的ID (使用@Html.DropDownListFor)。视图中的div当前如下所示:

代码语言:javascript
复制
<div id="Courses">
    @Html.DropDownListFor(c => c.Courses, new SelectList(Model.Courses, "CourseID", "Name"), "Choose Course", new { id = "courseDropDown", @class = "form-control input-sm", data_width = "100%" })
</div>

查看浏览器中的元素会发现每个元素都有courseID作为值,我希望每个元素都将这个courseID作为唯一的id。FYI Model.Courses包含可枚举的所有课程。

为了完整起见,我想要这样做的原因是,我在一个与下拉列表相对应的部分视图中有一个highChart,并且我有一个按钮从我的课程页面中重定向到带有部分div的视图,并加载给定课程的图表(使用页面中的ID )。这很好,但我现在需要dropdownlist在页面加载上显示该课程的名称,而现在它只是简单地说‘选择钓鱼运动’。

如有任何帮助或建议,我们将不胜感激。

编辑:谢谢你整理罗里的代码

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-10 09:01:30

如果需要设置select的默认值,则应该在控制器中,然后在视图中设置模型的某种CourseId属性:

代码语言:javascript
复制
@Html.DropDownListFor(c => c.CourseId, new SelectList(Model.Courses, "CourseID", "Name"), "Choose Course", new { id = "courseDropDown", @class = "form-control input-sm", data_width = "100%" })

DropDownListFor助手设置在页面加载时选择的值。

票数 2
EN

Stack Overflow用户

发布于 2016-05-10 09:01:57

在模型或控制器中,如果要填充课程属性,则将CourseId设置为唯一编号。

你设定财产的方式真的很重要吗?

代码语言:javascript
复制
foreach(var course in DataSource.CourseTitles)
   viewModel.Courses.Add(new Course(){ CourseId = i++, Name = course})
票数 1
EN

Stack Overflow用户

发布于 2016-05-10 09:09:07

teo van kot的答案是正确的(+1)。

不过,如果您不需要为帖子绑定CourseId。您可以使用SelectList构造函数(https://msdn.microsoft.com/en-us/library/dd492553(v=vs.118%29.aspx):-)。

代码语言:javascript
复制
public SelectList(
    IEnumerable items,
    string dataValueField,
    string dataTextField,
    Object selectedValue
)

像这样:-

代码语言:javascript
复制
<div id="Courses">
    @Html.DropDownListFor(c => c.Courses, new SelectList(Model.Courses, "CourseID", "Name", "COURSEID"), "Choose Course", new { id = "courseDropDown", @class = "form-control input-sm", data_width = "100%" })
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37133587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档