2012-07-13 30 views
0

所以用這個例子做一個CheckBoxList的的CheckBoxList在asp.net MVC編輯視圖不要做回傳

checkboxlist in asp.net MVC

它的工作在我的創造(新的登記簿)的罰款,但不是在我的編輯和可以」 t數字爲什麼 我的課程:

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

控制器動作editar當我按下按鈕調試

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

我怎麼能知道我什麼時候把我的按鈕,哪裏就有奇蹟還是什麼它尋找它不要在此處輸入? 奇怪的是,我的創建與此編輯相同,但創建工作

+0

如果你在Firefox中使用Firebug運行它。如果你打開網絡標籤,當你按下按鈕時,它會試着去哪裏? – 2012-07-13 15:38:49

+0

如果它們位於同一區域,是否嘗試使用Html.BeginForm(「ControllerName」,「Editar」),而不是純Html.BeginForm()? – Tito 2012-07-13 15:46:57

回答

0

當您按下提交按鈕時,控制器會自動提取您從提交的表單中指定的字段的後期值。

如果要調試然後把一個破發點中的控制器的行動,並看到Model對象所有張貼的值,因爲模型綁定爲你

+0

我的錯誤是我必須隱藏我班的DiasVisita屬性,並且正在工作 @ Html.HiddenFor(model => model.DiasVisita) – 2012-07-13 15:57:00

0

我怎麼能知道,當我把我的按鈕,自動完成它去哪裏或尋找什麼?

1)有很多工具來監視網絡。葡萄汁衆所周知的是:

  1. Firebug - 用於Firefox
  2. Fiddler2

2)HatSoft說,你把你提交表單標籤內的所有字段的按鈕。

3)如果你想在帖子請求轉到更具體的定義,使用FormExtensions.BeginForm重載,你的情況,你可以使用:

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