asp.net-mvc - ASP.NET MVC SelectList 在创建时不选择值
问题描述
我正在使用 MVC 应用程序,它创建了一个下拉列表:
@Html.DropDownListFor(model => model.Title, new SelectList(ViewBag.TitleList, "Value", "Text", Model.Title), "-- Select Title--", new {@class = "form-control"})
其他下拉菜单使用相同的代码,它们按预期工作,但在这种情况下,未选择模型的“标题”值。它确实显示了值,并且在保存时,它会保存正确的值。我还确认模型中“Title”的值在运行时是正确的。
有谁知道为什么这不是自动选择当前值?
谢谢。
解决方案
如果您正在使用DropDownListFor
并传入值为 0 的数据,那么无论您做什么,它都会自动默认为该值。
对此的两种解决方案是:
- 在 razor中手动创建 HTML
select
,然后通过循环填充它ViewBag.TitleList
。这将为您提供更多控制权,并且您将能够更轻松地设置默认值。
<select>
<option>Select Title</option>
@foreach (var row in ViewBag.TitleList)
{
<option value="@row.Value">@row.Title</option>
}
</select>
- 加载页面时使用javascript然后只需选择值“--选择标题--”
$('#idOfDropDown[text="-- Select Title--"]').attr("selected","selected");
推荐阅读
- c - exploit.c -- 缓冲区溢出
- javascript - 如何用数字链接替换数字
- sql - 查询具有一对多关系的 XML 数据
- android - 不允许启动服务 Intent(act=com.google.android.c2dm.intent.RECEIVE..) 应用在后台 uid UidRecord
- java - MappedSuperclass 扩展另一个 MappedSuperclass
- php - 如何适应 dompdf laravel
- java - 当页面没有响应或查找元素超时时,Selenium 如何提示消息框?
- excel - 根据当前日期计算下一个到期日 - Excel
- corda - Corda shell“未找到匹配的构造函数:”但未指定流构造函数参数
- apache-kafka - Kafka:消息偏移量