単純なプロパティを持つクラスがあります。
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.」というエラー メッセージが表示されました。代わりに、「プロジェクトの種類を選択してください」と定義したもの
誰かが何を修正する必要があるかを提案できますか?
ありがとう。