Razor Can';似乎无法从表单中保存枚举值

Razor Can';似乎无法从表单中保存枚举值,razor,drop-down-menu,Razor,Drop Down Menu,我一直找不到错误的原因。我正在从一个枚举到一个下拉列表中获取值,但我不知道这是否是问题所在,因为那个时异常只在浏览器中发生,而不在VS中发生 视图: 我在没有任何进一步信息的情况下单击“Skapa”并到达断点后崩溃 无法将“System.Int32”类型的对象强制转换为“System.String”类型 请帮帮我,因为我真的被困在这里了 StackTrace应要求: [InvalidCastException: Unable to cast object of type 'System.Int3

我一直找不到错误的原因。我正在从一个枚举到一个下拉列表中获取值,但我不知道这是否是问题所在,因为那个时异常只在浏览器中发生,而不在VS中发生

视图:

我在没有任何进一步信息的情况下单击“Skapa”并到达断点后崩溃

无法将“System.Int32”类型的对象强制转换为“System.String”类型

请帮帮我,因为我真的被困在这里了

StackTrace应要求:

[InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'.]
System.ComponentModel.DataAnnotations.StringLengthAttribute.IsValid(Object value) +46
System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(Object value, ValidationContext validationContext) +115
System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(Object value, ValidationContext validationContext) +29
System.Web.Mvc.<Validate>d__15.MoveNext() +158
System.Web.Mvc.<Validate>d__1.MoveNext() +311
System.Web.Mvc.DefaultModelBinder.OnModelUpdated(ControllerContext controllerContext, ModelBindingContext bindingContext) +135
System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model) +66
System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +1315
System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +416
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +317
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState) +446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +302
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) +30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +381
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +317
  System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +15
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) +71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +49
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
[InvalidCastException:无法将类型为'System.Int32'的对象强制转换为类型为'System.String'
System.ComponentModel.DataAnnotations.StringLengthAttribute.IsValid(对象值)+46
System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(对象值,ValidationContext ValidationContext)+115
System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(对象值,ValidationContext ValidationContext)+29
System.Web.Mvc.d_u15.MoveNext()+158
System.Web.Mvc.d__1.MoveNext()+311
System.Web.Mvc.DefaultModelBinder.OnModelUpdated(ControllerContext ControllerContext,ModelBindingContext bindingContext)+135
System.Web.Mvc.DefaultModelBinder.BindCompleteXelementalModel(ControllerContext ControllerContext,ModelBindingContext bindingContext,Object model)+66
System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext ControllerContext,ModelBindingContext bindingContext)+1315
System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext ControllerContext,ModelBindingContext bindingContext)+416
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext ControllerContext,ParameterDescriptor ParameterDescriptor)+317
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor)+117
System.Web.Mvc.Async.c__显示类25.b__1e(AsyncCallback AsyncCallback,Object asyncState)+446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext ControllerContext,String actionName,AsyncCallback回调,对象状态)+302
System.Web.Mvc.c_uuudisplayClassId.b_uuu17(异步回调,异步回调,对象异步状态)+30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.Controller.BeginExecuteCore(异步回调,对象状态)+381
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.Controller.BeginExecute(RequestContext RequestContext,AsyncCallback回调,对象状态)+317
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext RequestContext,AsyncCallback回调,对象状态)+15
System.Web.Mvc.c_uuudisplayClass8.b_uuu2(异步回调,异步回调,对象异步状态)+71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext,异步回调,对象状态)+249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext HttpContext,异步回调,对象状态)+49
System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.BeginProcessRequest(HttpContext上下文,AsyncCallback cb,Object extraData)+16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+301
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+155
最后是模型:

 public class CellEntity
 {
    public virtual int TimeFromMinute { get; set; }
    public virtual int TimeFromHour { get; set; }
    public virtual int TimeToMinute { get; set; }
    public virtual int TimeToHour { get; set; }
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public virtual Days Day { get; set; }
    public virtual Discplines Discipline { get; set; }
    //public virtual UserProfile Coach { get; set; }
    public virtual string Coach { get; set; }
    public virtual Levels Level { get; set; }
}
public enum Levels
{
    Nybörjare,
    Avancerad,
    Barn
}
public enum Days
{
    Måndag,
    Tisdag,
    Onsdag,
    Torsdag,
    Fredag,
    Lördag,
    Söndag
}
public enum Discplines
{
    BJJ,
    Thai,
    SW,
    MMA,
    Mix
}
public class DaySchedule
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public virtual Days Day { get; set; }
    public virtual List<CellEntity> Bookings { get; set; }
}
public class CellModel 
{
    [Required(ErrorMessage = "Måste fylla i från vilken timme.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Timme från")]
    public int TimeFromHour { get; set; }

    [Required(ErrorMessage = "Måste fylla i från vilka minuter.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Minut från")]
    public int TimeFromMinute { get; set; }

    [Required(ErrorMessage = "Måste fylla i till vilken timme.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Timme till")]
    public int TimeToHour { get; set; }

    [Required(ErrorMessage = "Måste fylla i till vilka minuter.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Minut till")]
    public int TimeToMinute { get; set; }

    [Required(ErrorMessage = "Måste fylla i vilken disciplin det gäller (stil).")]
    [Display(Name = "Disciplin")]
    public Discplines Discipline { get; set; }

    [Required(ErrorMessage = "Måste välja en tränare till passet.")]
    [Display(Name = "Tränare")]
    public string Coach { get; set; }

    [Required(ErrorMessage = "Måste välja en nivå på passet.")]
    [Display(Name = "Nivå")]
    public Levels Level { get; set; }
 }
公共类实体
{
公共虚拟int TimeFromMinute{get;set;}
公共虚拟int TimeFromHour{get;set;}
公共虚拟int TimeToMinute{get;set;}
公共虚拟int TimeToHour{get;set;}
[关键]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
公共虚拟日{get;set;}
公共虚拟学科{get;set;}
//公共虚拟用户配置文件Coach{get;set;}
公共虚拟字符串Coach{get;set;}
公共虚拟级别{get;set;}
}
公共枚举级别
{
Nybörjare,
阿凡塞德,
谷仓
}
公众普查日
{
穆达格,
提斯达格,
昂斯达格,
托斯达克,
弗雷德格,
勒达格,
桑达格
}
公共枚举学科
{
BJJ,
泰国人
西南,
MMA,
混合
}
公共课日表
{
[关键]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
公共虚拟日{get;set;}
公共虚拟列表预订{get;set;}
}
公共类单元模型
{
[必需(ErrorMessage=“Måste fylla i från vilken timme.”)
//[StringLength(2,ErrorMessage=“Måste vara ett giltigt tvåsifrigt klocklav.”,最小长度=2]
[正则表达式(@“^[0-9]*$”,ErrorMessage=“Endast siffror tillåtna.”)
[显示(Name=“Timme från”)]
public int TimeFromHour{get;set;}
[必需(ErrorMessage=“Måste fylla i från vilka minter.”)
//[StringLength(2,ErrorMessage=“Måste vara ett giltigt tvåsifrigt klocklav.”,最小长度=2]
[正则表达式(@“^[0-9]*$”,ErrorMessage=“Endast siffror tillåtna.”)
[显示(Name=“Minut från”)]
public int TimeFromMinute{get;set;}
[必需(ErrorMessage=“Måste fylla i till vilken timme.”)
//[StringLength(2,ErrorMessage=“Måste vara ett giltigt tvåsifrigt klocklav.”,最小长度=2]
[正则表达式(@“^[0-9]*$”,ErrorMessage=“Endast siffror tillåtna.”)
[显示(Name=“TIME till”)]
public int TimeToHour{get;set;}
[必需(ErrorMessage=“Måste fylla i till vilka minuter.”)
//[StringLength(2,ErrorMessage=“Måste vara ett giltigt tvåsifrigt klocklav.”,最小长度=2]
[正则表达式(@“^[0-9]*$”,ErrorMessage=“Endast siffror tillåtna.”)
[显示(Name=“分钟到”)]
公共int TimeToMinute{g
[InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'.]
System.ComponentModel.DataAnnotations.StringLengthAttribute.IsValid(Object value) +46
System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(Object value, ValidationContext validationContext) +115
System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(Object value, ValidationContext validationContext) +29
System.Web.Mvc.<Validate>d__15.MoveNext() +158
System.Web.Mvc.<Validate>d__1.MoveNext() +311
System.Web.Mvc.DefaultModelBinder.OnModelUpdated(ControllerContext controllerContext, ModelBindingContext bindingContext) +135
System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model) +66
System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +1315
System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +416
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +317
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState) +446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +302
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) +30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +381
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +317
  System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +15
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) +71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +49
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
 public class CellEntity
 {
    public virtual int TimeFromMinute { get; set; }
    public virtual int TimeFromHour { get; set; }
    public virtual int TimeToMinute { get; set; }
    public virtual int TimeToHour { get; set; }
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public virtual Days Day { get; set; }
    public virtual Discplines Discipline { get; set; }
    //public virtual UserProfile Coach { get; set; }
    public virtual string Coach { get; set; }
    public virtual Levels Level { get; set; }
}
public enum Levels
{
    Nybörjare,
    Avancerad,
    Barn
}
public enum Days
{
    Måndag,
    Tisdag,
    Onsdag,
    Torsdag,
    Fredag,
    Lördag,
    Söndag
}
public enum Discplines
{
    BJJ,
    Thai,
    SW,
    MMA,
    Mix
}
public class DaySchedule
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public virtual Days Day { get; set; }
    public virtual List<CellEntity> Bookings { get; set; }
}
public class CellModel 
{
    [Required(ErrorMessage = "Måste fylla i från vilken timme.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Timme från")]
    public int TimeFromHour { get; set; }

    [Required(ErrorMessage = "Måste fylla i från vilka minuter.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Minut från")]
    public int TimeFromMinute { get; set; }

    [Required(ErrorMessage = "Måste fylla i till vilken timme.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Timme till")]
    public int TimeToHour { get; set; }

    [Required(ErrorMessage = "Måste fylla i till vilka minuter.")]
    //[StringLength(2, ErrorMessage = "Måste vara ett giltigt tvåsiffrigt klockslag.", MinimumLength = 2)]
    [RegularExpression(@"^[0-9]*$", ErrorMessage = "Endast siffror tillåtna.")]
    [Display(Name = "Minut till")]
    public int TimeToMinute { get; set; }

    [Required(ErrorMessage = "Måste fylla i vilken disciplin det gäller (stil).")]
    [Display(Name = "Disciplin")]
    public Discplines Discipline { get; set; }

    [Required(ErrorMessage = "Måste välja en tränare till passet.")]
    [Display(Name = "Tränare")]
    public string Coach { get; set; }

    [Required(ErrorMessage = "Måste välja en nivå på passet.")]
    [Display(Name = "Nivå")]
    public Levels Level { get; set; }
 }