我有一个包含简单属性的类。
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)
点击提交按钮后,我收到了验证错误消息,但不是我在模型中手动定义的错误消息。我收到此错误消息“SelectedProjectCategoryId 字段必须是数字。” 而是我定义的“请选择一个项目类型”
有人可以建议我需要解决什么吗?
谢谢。