我在通过枚举数据模型对象填充的c#MVC Razor应用程序中有一个下拉列表。我的问题进场当用户选择下拉的默认值是从模型的第一个值,并选择当它不被触发onchange事件。请参见下面的代码:
.net核心mvc剃刀视图
<tr>
<td>
<a id="GenderLnk" href="#">Click Here to Update</a><br>
<div id="GenderDiv" style="display:none;">
@using (Html.BeginForm("UpdateGender", "Home", FormMethod.Post))
{
@Html.DropDownListFor(m => m.StudentGender, new SelectList(Enum.GetValues(typeof(Gender))), new { @class = "show", onchange = "this.form.submit();" })
}
</div>
</td>
</tr>
这是模型属性
public Gender StudentGender { get; set; }
public enum Gender
{
Female,
Male,
[Display(Name ="Not Applicable")]
NotApplicable,
Transgender
}
答案 0 :(得分:1)
不触发“ onChange”功能的原因是,从技术上讲,如果用户在第一次尝试中选择了默认值,它就不会更改表单中的任何值。您可以做的是提供“请选择”之类的值作为默认值,然后让用户在列表中选择一个值。
@Html.DropDownListFor(m => m.StudentGender, new SelectList(Enum.GetValues(typeof(Gender))), "-- Please Select -- ", new { @class = "show", onchange = "this.form.submit();" })
也许您也可以使用此问题+答案。希望这会有所帮助。