字段'xxx'必须是MVC DropDownList中的数字

时间:2013-02-04 06:33:41

标签: c# jquery asp.net-mvc asp.net-mvc-3 html-select

我在MVC应用程序中使用DropDownList。加载页面时出现问题:DropDownList的HTML源代码中显示错误消息。

请看这张图片:

enter image description here

此字段已设置为在DB和

中允许null
using System.Web;
using Nop.Web.Framework;
using Nop.Web.Framework.Mvc;
using Nop.Web.Validators.Customer;

namespace Nop.Web.Models.Customer
{
 public class FileUploadModel : BaseNopEntityModel
 {
    public CustomerNavigationModel NavigationModel { get; set; }
    public string ControlID { get; set; }
    public int? EventID { get; set; }
    public IEnumerable<System.Web.Mvc.SelectListItem> Events { get; set; }
    public string SpeakerFile { get; set; }
    public string FirmFile { get; set; }
    public string LogoFile { get; set; }
    public string PresentFile { get; set; }
    public string Present2File { get; set; }

    public string SpeakerFileUrl { get; set; }
    public string FirmFileUrl { get; set; }
    public string LogoFileUrl { get; set; }
    public string PresentFileUrl { get; set; }
    public string Present2FileUrl { get; set; }

    public string SpeakerSubmit { get; set; }
    public string FirmSubmit { get; set; }
    public string LogoSubmit { get; set; }
    public string PresentSubmit { get; set; }
    public string Present2Submit { get; set; }
 }
}

在模特中。

3 个答案:

答案 0 :(得分:3)

你的DropDown列表不应该绑定到Events而不是EventID吗?

public int? EventID { get; set; }
public IEnumerable<System.Web.Mvc.SelectListItem> Events { get; set; }

答案 1 :(得分:1)

这些data-*属性由不显眼的验证框架添加。由于您的EventID属性被声明为整数,因此框架会验证ad添加这些属性的格式。它是可以为空的整数,因此没有添加data-val-required属性。

答案 2 :(得分:1)

这是一个问题。当您在模型中定义int时,它会显示此消息。并且您已将其定义为可为空,如果您没有,则可能还需要消息。 “这个领域是必需的。