【问题标题】:DropDownList selected is not setDropDownList selected 未设置
【发布时间】:2016-09-20 20:26:18
【问题描述】:

我有一个使用 DropDownListFor 的视图:

@Html.DropDownListFor(m => m.Nationality, NationalityDD, new { style = "width:185px;" }) 

SelectListItem 列表被以下方式更改:

List<SelectListItem> NationalityDD = new List<SelectListItem>();
var n0 = new SelectListItem { Value = "", Text = "" };
var n1 = new SelectListItem { Value = "p", Text = @Resources.Localization.nationality_LR_citizen };
var n2 = new SelectListItem { Value = "np", Text = @Resources.Localization.nationality_LR_resident };
var n3 = new SelectListItem { Value = "es", Text = @Resources.Localization.nationality_ES_citizen };
var n4 = new SelectListItem { Value = "ne", Text = @Resources.Localization.nationality_other };

NationalityDD.Add(n0); NationalityDD.Add(n1); NationalityDD.Add(n2); NationalityDD.Add(n3); NationalityDD.Add(n4); 

所以,问题是当我将 np/es/ne 值设置到数据库中时,刷新页面后一切都很好,并且仍然显示选定的值,但是如果我在刷新页面后设置 p 则没有选定的值“”。

这个html是我选择p时DDL生成的(刷新后):

<select id="Nationality" name="Nationality" style="width:185px;">
<option value=""></option>
<option value="p">LR pilsonis</option>
<option value="np">LR Pastāvīgais iedzīvotājs</option>
<option value="es">ES pilsonis</option>
<option value="ne">ne-ES pilsonis</option>
</select> 

当我选择除p 之外的其他内容时(刷新后):

<select id="Nationality" name="Nationality" style="width:185px;"><option value=""></option>
<option value="p">LR pilsonis</option>
<option value="np">LR Pastāvīgais iedzīvotājs</option>
<option selected="selected" value="es">ES pilsonis</option>
<option value="ne">ne-ES pilsonis</option>
</select> 

DDL 出现这种奇怪行为的原因可能是什么?

【问题讨论】:

  • 设置所选选项的代码在哪里(刷新/页面加载时)?
  • 下拉列表不是自己做的吗?
  • 不需要写代码来设置吗?使用Html.DropDownListFor辅助方法
  • 什么意思?第一个值m =&gt; m.Nationality 等于 DDL 中的一个元素,所以它必须是选择的选项?
  • 您是否在返回视图之前在代码中设置了Nationality 属性的值?你应该这样做。看到这个stackoverflow.com/questions/11937361/…

标签: html asp.net asp.net-mvc drop-down-menu


【解决方案1】:

错误太愚蠢了。在我使用的数据库中,创建的国籍字段不是 nvarchar(2),而是简单的 char(2),所以在 nationality_LR_citizen = p 的情况下,它是剩余空间,所以 p= = p 为假,DDLF 未选择此值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2019-07-25
    • 2011-02-27
    • 1970-01-01
    相关资源
    最近更新 更多