В моих параметрах у меня есть «Вариант», который
-Gestion
-Colegio
-Estado
-Pais
Я хочу загрузить его в свой DropDownList, попробуйте загрузить его таким образом, но это не похоже на то, чтобы просмотреть его, у вас есть другой способ?
Контроллер:
public ActionResult Index()
{
List<SelectListItem> lst = new List<SelectListItem>();
lst.Add(new SelectListItem() { Text = "Gestion", Value = "1" });
lst.Add(new SelectListItem() { Text = "Colegio", Value = "2" });
lst.Add(new SelectListItem() { Text = "Estado", Value = "3" });
lst.Add(new SelectListItem() { Text = "Pais", Value = "4" });
ViewBag.Opciones = lst;
return View();
}
мое зрение:
@model TNT.Controllers.ResumenParam
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm("Imprimir", "Resumen", new { id = "PDF" }, FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-field">
@Html.DropDownListFor(model => model.Gestion, Enumerable.Range(2000, 20).Select(x => new SelectListItem { Text = x.ToString() }))
@Html.ValidationMessageFor(model => model.Gestion)
</div>
<div class="editor-field">
@Html.DropDownList("Opcion", ViewBag.Opciones)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Модель:
public class CampoResumenColegioParam
{
// [Required(ErrorMessage = "Ingrese una Gestion")]
// [Display(Name = "Gestio")]
// [DataType(DataType.int)]
public int Gestion { get; set; }
public int Opciones { get; set; }
}
Попробуйте сохранить их
SelectListItem
в a ,ViewBag
а затем передать данные помощникуDropDownList
.В вашем действии у вас будет это:
По вашему мнению, чтобы показать это было бы так:
Одна из возможностей - создать перечисление с возможными значениями:
Свойство вашей модели может иметь тип перечисления:
И в представлении вы можете использовать метод расширения `EnumDropDownListFor':