asp.net-mvc-3 – SelectList不显示所选项目
这有点减少,但基本上我有一个看起来像这样的模型:
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" } 这显然导致选择不起作用,因为我的模型也具有“标题”属性.我通过重命名属性解决了这个问题. 今天早上浪费了太多时间来解决这个问题. 学过的知识. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 如何为asp.net vnext使用不同的.net语言(F
- asp.net – 仅为Web服务关闭customErrors
- asp.net-mvc-3 – 动态地为每个列的ASP.NET MVC Razor标头和
- asp.net-mvc – 在带有Web Essentials的Visual Studio 2013
- asp.net-mvc-3 – 如何传递Request.QueryString到Url.Actio
- asp.net-mvc – MVC 3 – 仅限特定用户访问
- asp.net-mvc – 在MVC3中使用Html.BeginForm是什么
- asp.net-mvc – 有没有更好的方法来使用MVC 4和Entity Fram
- asp.net-mvc – Asp.Net MVC Html助手扩展
- asp.net-mvc-3 – 带有asp.net mvc 3的$ajax内的相对URL
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-optio
- asp.net-mvc-3 – 在下拉列表中更改值时的页面重
- ASP.NET MVC4会话状态存储用户名
- asp.net – WSDL.exe工具的/ serverInterface和/
- asp.net – 可以使用__doPostBack()吗?
- 保护某些页面免受ASP.NET中的直接访问
- asp.net – 用户控制静态名称选项?
- asp.net – 为什么removeServerHeader在Azure We
- asp.net – 在Response.Redirect之后获取上一页网
- asp.net-mvc – 在做PostAsync时为什么等待不起作