首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未显示SelectListItem文本

未显示SelectListItem文本
EN

Stack Overflow用户
提问于 2015-02-01 13:55:17
回答 2查看 1.7K关注 0票数 3

我正试图完成一个表单,让用户注册到一个asp.net MVC网站,我正在努力获得下拉列表,以正确显示文本。该模型有以下几个方面:

代码语言:javascript
复制
public SelectList CountiesList;

在构造函数中,实体是我的数据库上下文:

代码语言:javascript
复制
CountiesList = new SelectList(
                from c in entities.Counties
                select new SelectListItem
                {
                    Value = c.CountyID.ToString(),
                    Text = c.County //the county name, nvarchar/string
                });

在我的cshtml中:

代码语言:javascript
复制
<div class="align-center">
    <label>County</label>
    @Html.DropDownListFor(x => x.County, Model.DropDowns.CountiesList)
</div>

这是用查找表中正确的项目数生成下拉列表,但显示的文本是“System.Web.Mvc.SelectListItem”,而不是县的名称。

任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-01 14:19:53

尝尝这个

代码语言:javascript
复制
public IEnumerable<SelectListItem> CountiesList;

CountiesList =  from c in entities.Counties
                select new SelectListItem
                {
                    Value = c.CountyID.ToString(),
                    Text = c.County //the county name, nvarchar/string
                };

因为你不应该用SelectList填充IEnumerable<SelectListItem>。使用SelectList an IEnumerable<SelectListItem>,但不能同时使用.

票数 1
EN

Stack Overflow用户

发布于 2015-02-01 14:19:57

我怀疑您的问题比这更深,因为想要将SelectList作为模型是不正常的。我认为在您的模型中存储Dropdowns列表有可能表示概念错误。

您的模型可能应该是您的Entity (一个县的列表?)然后,您可以绑定各州的下拉列表,方法是向Html.DropDownListFor助手传递第二个参数-- SelectList创建的方式与您现在启动CountiesList的方式完全相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28263448

复制
相关文章

相似问题

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