ViewBag.cliente_id = new SelectList(db.cliente.Where(c => c.status_ativacao == 1), "id", "nome", manutencao.cliente_id);
Он все еще возвращает всех клиентов. Мне нужно вернуть только колонку «status_ativacao» = значение 1. Я уверен, что это делается здесь, или мне нужно сделать это в раскрывающемся списке?(Custom ViewBag with Where). Простая линия, но я не могу заставить ее работать
Вид:
<div class="form-group">
<label class="col-sm-2 control-label" for="cliente_id">Cliente</label>
<div class="col-md-6">
@Html.DropDownList("cliente_id", (SelectList)ViewBag.Values, new { onchange = "this.form.submit();" })
@Html.ValidationMessageFor(model => model.cliente_id)
<!-- <input type="submit" value="Atualizar Cliente" class="btn btn-default"/> -->
</div>
The .Where() ', который вы указали, будет работать нормально и возвращать только' cliente', где значение 'status_ativacao' равно' 1' (однако размещение 'SelectList', как в' ViewBag', является плохой практикой, и нет смысла добавлять '@Html .ValidationMessageFor() ', потому что с вашей реализацией вы никогда не получите никакой валидации, и ваши пользователи не смогут выбрать первый элемент) –