C# asp.net MVC编辑视图中的复选框列表不回发

C# asp.net MVC编辑视图中的复选框列表不回发,c#,asp.net-mvc,C#,Asp.net Mvc,因此,使用这个示例来做一个复选框列表 它在我的创建(对于新注册表)中运行良好,但在我的编辑中不起作用,并且不知道为什么 我的班级: public class cliente { [Key ,DatabaseGenerated(DatabaseGeneratedOption.None)] public int id { get; set; } [DisplayName("Nombre")] [Required(ErrorM

因此,使用这个示例来做一个复选框列表

它在我的创建(对于新注册表)中运行良好,但在我的编辑中不起作用,并且不知道为什么 我的班级:

public class cliente
    {
        [Key ,DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int id { get; set; }

        [DisplayName("Nombre")]
        [Required(ErrorMessage = "Descripcion es requerido.")]
        [MaxLength(100, ErrorMessage = "El Nombre no puede contener mas de 100 caracteres")]
        public string descripcion {get; set;}


        [DisplayName("Visita")]
        public string visita { get; set; } 


        public Dias DiasVisita { get; set; }

       //more properties..

        [Flags]//<-- Note the Flags attribute
        public enum Dias
        {
            Lunes = 1,
            Martes = 2,
            Miercoles = 4,
            Jueves = 8,
            Viernes = 16,
            Sabado = 32,
            Domingo = 64,
        }
我怎么知道我什么时候按下按钮它去了哪里或者它在找什么?
奇怪的是,我的创建与此编辑相同,但创建工作

当您按下提交按钮时,控制器会自动从提交的表单中拾取您指定的字段的post值


如果要调试,请在控制器的操作中设置断点,并查看模型对象中的所有已发布值,因为模型绑定是自动为您完成的

我如何知道何时按下按钮它去了哪里或它在寻找什么?

1) 有许多工具可以监视网络。必须众所周知的是:

  • -对于firefox
  • 2) 正如HatSoft所说,按下按钮提交表单标签内的所有字段

    3) 如果您想更具体地定义post请求的位置,请使用重载,在您的情况下,可以使用:

    Html.BeginForm("YourControllerName", "Editar", new {area="YourAreaName"}) 
    

    如果你在firefox和Firebug中运行它。如果打开Net选项卡,当您按下按钮时,它会尝试去哪里?如果它们位于同一区域,您是否尝试了Html.BeginForm(“ControllerName”,“Editar”),而不是纯Html.BeginForm()?我的错误是,我必须隐藏我类的Diavisita属性,并且现在正在@Html.HiddenFor(model=>model.diavisita)工作
     [HttpPost]
            public ActionResult Editar(cliente cliente, string[] dias)
            {
        }
    
    Html.BeginForm("YourControllerName", "Editar", new {area="YourAreaName"})