Добрый деньВыберите выпадающий элемент в контроллере
На мой взгляд, у меня есть DropDownList так:
<div class="form-group row">
@Html.LabelFor(model => model.Colour, new { @class = "col-lg-2 col-md-2 col-sm-2 col-xs-2" })
<div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
@Html.DropDownListFor(model => model.Colour, new SelectList(Model.VehicleColour, "Value", "Text", Model.Colour), new { id = "Colour", @class = "btn dropdown-toggle btn-default" })
</div>
</div>
Обновлено. В определенном состоянии мне нужно установить выбранный элемент в моем контроллере. В настоящее время я пытаюсь добиться этого, делая это как так (но это не работает):
[HttpPost]
public ActionResult VehicleDetails(VehicleDisplay model)
{
// This section depends on the condition and it gets the item id that I need
// to select in the dropdown
if (Session["ColourID"] != null)
{
model.Colour = long.Parse(Session["ColourID"].ToString());
}
#endIf
model.VehicleColour = GetVehicleColour();
foreach (SelectListItem colour in model.VehicleColour)
{
if (colour.Value == model.Colour.ToString())
{
colour.Selected = true;
}
else
{
colour.Selected = false;
}
}
return PartialView("VehicleDetails", model);
}
GetVehicleColour()
private IEnumerable<SelectListItem> GetVehicleColour()
{
var colours = new List<SelectListItem>();
var colour = new SelectListItem()
{
Value = "0",
Text = "Please select a Vehicle Colour",
Selected = true
};
/* Get Colour values fron database */
foreach (ColorObject method in dbList)
{
colour = new SelectListItem()
{
Value = method.Id.ToString(),
Text = method.Description,
Selected = false
};
colours.Add(colour);
}
return colours;
}
VehicleModel
[Required]
[Display(Name = "Colour ")]
[Range(1, long.MaxValue, ErrorMessage = "Please select a Vehicle Colour")]
public long? Colour { get; set; }
public IEnumerable<SelectListItem> VehicleColour { get; set; }
может пожалуйста, помогите мне с этим вопросом?
Там нет установки 'Selected' свойство' SelectListItem' при привязке к модели собственности точка (ее игнорируется 'DropDownListFor()' метода, который внутренне генерирует новый 'IEnumerable'). Его значение «Colour», которое определяет, что выбрано, если оно соответствует одному из значений vales, то этот параметр будет выбран. –
И не добавляйте опцию 'Пожалуйста, выберите« Colour Colour »в' SelectList' - используйте одну из перегрузок, которые принимают «labelOption», и нет точки, генерирующей второй идентичный 'SelectList' из первого. Представление должно быть просто '@ Html.DropDownListFor (m => m.Colour, Model.VehicleColour,« Выберите цвет транспортного средства », новый {@class =" btn dropdown-toggle btn-default "})' –
У меня есть удалил свойство «Selected», но он все еще не выбирает выбранное значение – ArnoDT