0

単純なプロパティを持つクラスがあります。

public class Projects
    {

        private static readonly WebWideMediaDataContext _ctx = new WebWideMediaDataContext();


        public string Title { get; set; }


        public string Description { get; set; }


        private readonly List<ProjectCategoryModel> _categories = _ctx.ProjectCategories.GetAll();


        [Required(ErrorMessage = "Please select a project type.")]
        public int SelectedProjectCategoryId { get; set; }

        public IEnumerable<SelectListItem> CategoryList
        {
            get
            {
                var categoryList = _categories.Select(s => new SelectListItem
                                                                {
                                                                    Value = s.CategoryId.ToString(),
                                                                    Text = s.CategoryName
                                                                });

                return DefaultListItem.Concat(categoryList);
            }
        }



        public IEnumerable<SelectListItem> DefaultListItem
        {
            get
            {
                return Enumerable.Repeat(new SelectListItem
                {
                    Value = "select",
                    Text = "Select an Option"
                }, count: 1);
            }
        }


    }

そして私の見解では、私は DropDownListFor を持っています

 @Html.DropDownListFor(model => model.SelectedProjectCategoryId, Model.CategoryList)

送信ボタンを押した後、検証エラー メッセージが表示されましたが、モデルで手動で定義したメッセージは表示されませんでした。「The field SelectedProjectCategoryId must be a number.」というエラー メッセージが表示されました。代わりに、「プロジェクトの種類を選択してください」と定義したもの

誰かが何を修正する必要があるかを提案できますか?

ありがとう。

4

1 に答える 1