У меня есть эта модель:
public class CampoTipoDocumentoViewModel
{
public int TipoDocumentoId { get; set; }
public string[] CamposId { get; set; }
private List<MiddleTier.Models.ICampo> _todosCampos;
public IEnumerable<SelectListItem> TodosCampos
{
get
{
foreach (var campo in _todosCampos)
yield return new SelectListItem { Text = campo.Nombre, Value = campo.Id.ToString() };
}
}
public void SetFields(List<MiddleTier.Models.ICampo> campos)
{
_todosCampos = campos;
}
}
В контроллере свойство CamposId назначается с элементами, которые должны быть выбраны в представлении.
Контроллер также вызывает метод SetFields, заполняющий _todosCampos длявесь список записей в системе.
Идея состоит в том, чтобы создать представление с SELECT, в котором изначально было выбрано несколько записей.
Это мое представление:
@Html.DropDownListFor(m => m.CamposId, Model.TodosCampos, new { @class = "form-control", multiple = "multiple", width = "100%" })
Дело в том, что элемент HTML SELECT создается со списком, но никакой опции не выбрано.
Например, если _todosCampos содержит:
Text = "One", Value = "1"
Text = "Two", Value = "2"
Text = "Three", Value = "3"
Text = "Four", Value = "4"
, а CamposId содержит:
Array of "2", "4"
Мне нужно представление, чтобы создать SELECT с этими 4 опциями, и опции 2 и 4, которые будут изначально выбраны.
Как мне этого добиться?
Спасибо, Хайме