gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:34:29 25 4
gpt4 key购买 nike

这被缩减了一点,但基本上我有一个看起来像这样的模型:

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,我看到 selected没有为与此人的职务相对应的选项设置属性。我认为指定 Model.Title因为第三个参数会选择它。

想法?

更新

我添加了 Selected 的设置属性为 qntmfred 下面建议的那样,这会将列表中的正确设置为 true 但 <option>没有 selected属性在它上面。

已解决

所以,这很微妙。我碰巧有一个 ViewBag名为“标题”的条目 - 像这样:
@{
ViewBag.Title = "Edit Person"
}

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

最佳答案

已解决

正如我在问题末尾所写的那样,这不是一件显而易见的事情。我碰巧有一个 ViewBag名为“标题”的条目 - 像这样:

@{
ViewBag.Title = "Edit Person"
}

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

今天早上在这个问题上浪费了太多时间。

学过的知识。

关于asp.net-mvc-3 - SelectList 不显示所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com