ASP.NET MVC selectlist выбранное значение не работает - PullRequest
0 голосов
/ 20 июня 2019

Я использую три разных Selectlist для заполнения трех разных выпадающих меню. Площадь, Дисциплина и Сдвиг.

Проблема, с которой я сталкиваюсь, заключается в том, что она работает для первого, но не для двух других. На форме selectedvalue работает для области, однако для дисциплины и смены он выбирает первый в списке

  List<SelectListItem> ShiftEdit = db.Shifts
             .OrderBy(s => s.Site.SiteName)
             .Select(s => new SelectListItem
             {
                 Value = s.ShiftID.ToString(),
                 Text = s.Site.SiteName + " " + "||" + " " + s.Shift1
             }).ToList();

        ViewBag.ShiftEdit = new SelectList(ShiftEdit, "Value", "Text", employee.ShiftID);

        List<SelectListItem> AreaEdit = db.Areas
            .OrderBy(s => s.Site.SiteName)
            .Select(s => new SelectListItem
            {
                Value = s.AreaID.ToString(),
                Text = s.Site.SiteName + " " + "||" + " " + s.Area1
            }).ToList();

        ViewBag.AreaEdit = new SelectList(AreaEdit, "Value", "Text", employee.AreaID);

        List<SelectListItem> DisciplineEdit = db.Disciplines
         .OrderBy(s => s.Site.SiteName)
         .Select(s => new SelectListItem
         {
             Value = s.DisciplineID.ToString(),
             Text = s.Site.SiteName + " " + "||" + " " + s.Discipline1
         }).ToList();

        ViewBag.DisciplineEdit = new SelectList(DisciplineEdit, "Value", "Text", employee.DisciplineID);

Вид:

     <div class="form-group">
        @Html.LabelFor(model => model.ShiftID, "Shift", htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("ShiftID", (IEnumerable<SelectListItem>)ViewBag.ShiftEdit, htmlAttributes: new { @class = "form-control", @style = "width:400px" })
            @Html.ValidationMessageFor(model => model.ShiftID, "", new { @class = "text-danger" })
        </div>
    </div>


    <div class="form-group">
        @Html.LabelFor(model => model.AreaID, "Area", htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("AreaID", (IEnumerable<SelectListItem>)ViewBag.AreaEdit, htmlAttributes: new { @class = "form-control", @style = "width:400px" })
            @Html.ValidationMessageFor(model => model.AreaID, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.DisciplineID, "Discipline", htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("DisciplineID", (IEnumerable<SelectListItem>)ViewBag.DisciplineEdit, htmlAttributes: new { @class = "form-control", @style = "width:400px" })
            @Html.ValidationMessageFor(model => model.DisciplineID, "", new { @class = "text-danger" })
        </div>
    </div>

1 Ответ

0 голосов
/ 20 июня 2019

Так что я по ошибке не удалил оригинальные Viewbags, которые, казалось, вызывали проблему.

Я удалил их, и теперь все отлично работает

...