Использование Enum для DropdownList: отсутствует директива using или ссылка на сборку - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь создать раскрывающийся список со свойством enum в ASP.NET Core.

Вот модель (viewmodel):

namespace Application.Models.ApplicationviewModels
{
    public class StoreIndexData
    {
        [Display(Name = "Departamento")]
        public int DepartmentID { get; set; }
        public string DepartmentName { get; set; }    

        [Display(Name = "Distrito")]    
        public int DistrictID { get; set; }
        public string DistrictName { get; set; }
        [EnumDataType(typeof(tiendacadenaenum))]
        public tiendacadenaenum tienda_cadena {get;set;}
    }
    public enum tiendacadenaenum
        {
        [Display(Name = "Cencosud")]
        Cencosud,
        [Display(Name = "Cinerama")]
        Cinerama,
    }
}

А вот и часть вида:

@model Application.Models.ApplicationviewModels.StoreIndexData
@using Application.Models

    <div class="form-group">
        <label asp-for="tienda_cadena" class="cold-md-2"></label>
        <div class="col-md-10">
            <select asp-for="tienda_cadena" class="form-control"
                    asp-items="Html.GetEnumSelectList<tiendacadenaenum>()">"></select>
            <span asp-validation-for="tienda_cadena" class="text-danger"></span>
        </div>
    </div>

Здесь отображается проблема:

Html.GetEnumSelectList<tiendacadenaenum>()">

утверждает, что отсутствует директива using или ссылка на сборку. Есть идеи, как это решить?

enter image description here

1 Ответ

0 голосов
/ 05 сентября 2018

Добавить @using Application.Models.ApplicationviewModels к виду.

Также рекомендуется использовать соглашение об именах, так как это облегчит другим пользователям чтение вашего кода, особенно используйте PascalCase для имен перечислений, имен свойств, имен пространств имен и имен методов.

Итак, код должен выглядеть примерно так:

namespace Application.Models.ApplicationViewModels
{
    public class StoreIndexData
    {
        [Display(Name = "Departamento")]
        public int DepartmentId { get; set; }
        public string DepartmentName { get; set; }    

        [Display(Name = "Distrito")]    
        public int DistrictId { get; set; }
        public string DistrictName { get; set; }
        [EnumDataType(typeof(TiendaCadenaEnum))]
        public TiendaCadenaEnum TiendaCadena { get; set; }
    }

    public enum TiendaCadenaEnum
        {
        [Display(Name = "Cencosud")]
        Cencosud,
        [Display(Name = "Cinerama")]
        Cinerama,
    }
}

@model Application.Models.ApplicationviewModels.StoreIndexData
@using Application.Models.ApplicationviewModels
@using Application.Models

    <div class="form-group">
        <label asp-for="TiendaCadena" class="cold-md-2"></label>
        <div class="col-md-10">
            <select asp-for="TiendaCadena" class="form-control"
                    asp-items="Html.GetEnumSelectList<TiendaCadenaEnum>()">"></select>
            <span asp-validation-for="TiendaCadena" class="text-danger"></span>
        </div>
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...