加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – SelectList不显示所选项目

发布时间:2020-12-16 06:23:51 所属栏目:asp.Net 来源:网络整理
导读:这有点减少,但基本上我有一个看起来像这样的模型: public class PersonCreateEditViewModel{ public string Title { get; set; } public IEnumerableSelectListItem Titles { get; set; }} 在我的编辑页面上,我想在DropDownList中显示该人的当前标题,以便我
这有点减少,但基本上我有一个看起来像这样的模型:

public class PersonCreateEditViewModel
{
   public string Title { get; set; }

   public IEnumerable<SelectListItem> Titles { get; set; }
}

在我的编辑页面上,我想在DropDownList中显示该人的当前标题,以便我们可以更改其标题.该代码如下所示:

@Html.DropDownListFor(model => model.Title,new SelectList(Model.Titles,"Value","Text",Model.Title))

我通过检索一堆字符串在我的动作中填充它:

IEnumerable<SelectList> titles = somelistoftitles.Select(
      c => new SelectListItem
      {
         Value = c,Text = c
      };


var viewModel = new PersonCreateEditViewModel()
{
    Title = model.Title,Titles = sometitles
};

return View(viewModel);

这将使用值填充DropDownList,但不会选择此人的当前标题.所以,我在这里做错了.查看底层的html,我看到没有为与该人的标题对应的选项设置所选属性.我认为指定Model.Title作为第三个参数将选择它.

想法?

更新

我将Selected属性的设置添加为下面建议的qntmfred,并且将列表中的右侧设置为true,但是< option>没有选定的属性.

解决了

所以,这很微妙.我碰巧有一个名为“Title”的ViewBag条目 – 类似这样:

@{
    ViewBag.Title = "Edit Person"
}

这显然导致选择不起作用,因为我的模型也具有“标题”属性.我通过重命名属性解决了这个问题.

解决方法

解决了

正如我在问题的最后写的那样,这不是一件明显的事情.我碰巧有一个名为“Title”的ViewBag条目 – 类似这样:

@{
    ViewBag.Title = "Edit Person"
}

这显然导致选择不起作用,因为我的模型也具有“标题”属性.我通过重命名属性解决了这个问题.

今天早上浪费了太多时间来解决这个问题.

学过的知识.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读