DropDownList在MVC Razor .net中未显示SelectedValue

问题描述

我尝试在“视图”中创建下拉列表。 "CD_STATE_CLASS" "IN_DIVIDED"的下拉列表正在运行,但是对于"TOLL_ROAD"来说,它可以返回下拉列表中的选项值,但是未显示函数中定义的所选值。 TOLL_ROAD在控制台中,我可以看到该值,但在下拉列表中看不到。我不知道问题出在哪里,因为代码看起来完全一样。而且,当我保存表单时,下拉列表中的选定TOLL_ROAD值似乎没有传递给Road对象。

private void GetEditRoadSelectLists(Road road)
{
    var roadLookup = objMgr.GetRoadLookupDataBAL();

    ViewBag.RoadTypes = roadLookup.RoadTypeLookup;
    ViewData["CD_STATE_CLASS"] = new SelectList(roadLookup.StateClassLookup,"StateClassCode","StateClassDescription",road.CD_STATE_CLASS);
    ViewData["IN_DIVIDED"] = new SelectList(roadLookup.YesNoLookup,"YesNoShort","YesNoLong",road.IN_DIVIDED);
    ViewData["TOLL_ROAD"] = new SelectList(roadLookup.TollLookup,"Id","TOLL_ROAD",road.RoadsRamps.TOLL_ROAD);

    //ViewData["TOLL_ROAD"] = new SelectList(roadLookup.TollLookup,road.RoadsRamps.TOLL_ROAD);
    System.Diagnostics.Debug.WriteLine("toll"+road.RoadsRamps.TOLL_ROAD);
    System.Diagnostics.Debug.WriteLine("YES" + road.IN_DIVIDED);
}
<div class="form-group row">
    @Html.LabelFor(model => model.CD_STATE_CLASS,htmlAttributes: new { @class = "control-label col-md-2 required" })
    <div class="col-md-4">
        @Html.DropDownList("CD_STATE_CLASS",null,"-- Please select --",new { @class = "form-control" })
        @Html.ValidationMessageFor(model => model.CD_STATE_CLASS,"",new { @class = "text-danger" })
    </div>
</div>
<div class="form-group row">
    @Html.LabelFor(model => model.RoadsRamps.TOLL_ROAD,htmlAttributes: new { @class = "control-label col-md-2 required" })
    <div class="col-md-4">
        @Html.DropDownList("TOLL_ROAD",new { @class = "form-control" })
    
        @Html.ValidationMessageFor(model => model.RoadsRamps.TOLL_ROAD,new { @class = "text-danger" })
    </div>
</div>

TOLL_ROAD does not have pre-defined value

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)