asp.net中的checkboxlist MVC编辑视图不做回发

时间:2012-07-13 15:33:59

标签: c# asp.net-mvc

所以使用这个例子做一个复选框列表

checkboxlist in asp.net MVC

它在我的创建(对于新的注册表)中工作正常,但在我的编辑中却无法解决原因  我的班级:

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,
        }

我的观点。

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Cliente</legend>

        @Html.HiddenFor(model => model.id)
        @Html.HiddenFor(model => model.categoria)
        @Html.HiddenFor(model => model.visita)

        <div class="editor-label">
            @Html.LabelFor(model => model.descripcion)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.descripcion, new { style = "width: 300px;" })
            @Html.ValidationMessageFor(model => model.descripcion)
        </div>


      <div class="editor-label">
       @Html.LabelFor(model => model.visita)
    </div>

    <div class="editor-field">
        @Html.CheckboxListForEnum("dias", Model.DiasVisita)
    </div>

      <div class="editor-label">
       @Html.LabelFor(model => model.orden)
    </div>

        <div class="editor-field">
            @Html.TextBoxFor(model => model.orden)
            @Html.ValidationMessageFor(model => model.orden)
        </div>

        <p>
            <input type="submit" value="Guardar" />
        </p>
    </fieldset>
}
当我按下调试按钮

时,

控制器动作编辑它不会进入此处

 [HttpPost]
        public ActionResult Editar(cliente cliente, string[] dias)
        {
    }

我怎么知道我什么时候按下按钮的位置或者它的样子? 奇怪的是,我的创建与此编辑相同,但创建工作

2 个答案:

答案 0 :(得分:0)

当您按下提交按钮时,控制器会自动从您提交的表单中选择您指定的字段的后期值。

如果你想调试然后在控制器的动作中设置一个断点,并在Model对象中查看所有发布的值,因为模型绑定是自动完成的

答案 1 :(得分:0)

我怎么知道我什么时候按下按钮的位置或者它的样子?

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

  1. Firebug - for firefox
  2. Fiddler2
  3. 2)正如HatSoft所说,你按下提交表格标签内所有字段的按钮。

    3)如果您想更具体地定义帖子请求的去向,请使用FormExtensions.BeginForm重载,在您的情况下,您可以使用:

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