2012-10-15 2 views
0

컨트롤러를 가져오고 게시했습니다. 그러나 httpPost comtroller 전달 모델 매개 변수 값은 null입니다. 내 httpPost 모델 매개 변수 값이 항상 null입니까?httpPost 모델이 항상 null 인 이유는 무엇입니까?

[HttpGet] 
     public ActionResult HireItem() 
     { 

      var HireItemListModel = new HireItemModel(); 

      HireItemListModel = new HireItemModel() 
      { 
       first_name = Session["first_name"].ToString(), 
       middle_name = Session["middle_name"].ToString(), 
       last_name = Session["last_name"].ToString(), 
       ceremony_date = Session["ceremony_date"].ToString(), 
      };   


      var product = _productService.GetAllHireProducts(); 

      if (product.Count != 0) 
      { 

       foreach (var proValue in product) 
       { 
        var productVarSeparateList = _productService.GetHireProductVariantsByProductIds(proValue.Id, false); 

        foreach (var HireProSep in productVarSeparateList) 
        { 
         var productVarSeparateModel = new HireItemModel.HireItemSeparatetModel() 
         { 
          pname = HireProSep.Name, 
          price =HireProSep.Price, 
          pId=HireProSep.Id, 

         }; 
         HireItemListModel.HireItemSeparatetlist.Add(productVarSeparateModel); 
        } 
        var productVarSetList = _productService.GetHireProductVariantsByProductIds(proValue.Id, true); 

        foreach (var HireProset in productVarSetList) 
        { 
         var productVarListset = new HireItemModel.HireItemSetModel() 
         { 
          pname = HireProset.Name, 
          price = HireProset.Price, 
          pId = HireProset.Id, 
         }; 
         HireItemListModel.HireItemSetList.Add(productVarListset); 
        } 
       } 
      } 

      return View(HireItemListModel); 

     } 

이 컨트롤러 HireItemModel 모델 매개 변수 값은 null입니다. 왜??

[HttpPost,ActionName("HireItem")] 
    public ActionResult HireItem(string submitB, FormCollection formCollection, HireItemModel HireItemListModel) 
    { 
     var graduandList = _graduandService.GetGraduandBynameCeremony(HireItemListModel.ceremony_id, HireItemListModel.first_name, HireItemListModel.middle_name, HireItemListModel.last_name); 
     foreach (var graduand in graduandList) 
     { 
      graduand.height = HireItemListModel.height; 
      graduand.head_circumference = HireItemListModel.head_circumferenc; 
      _graduandService.Updategraduand(graduand); 
     } 

이것은 내 견해입니다.

@model HireItemModel 
    @using (Html.BeginForm()) 
    { 

     <table > 

    <tr> 
     <td > 
      Ceremony : 
     </td> 
     <td> 
      Ceremony at @Model.ceremony_date 

     </td> 
    </tr> 

     <tr> 
       <td > 
        Name : 
       </td> 
       <td > 
        @Model.first_name @Model.middle_name @Model.last_name 
       </td> 
      </tr> 
      </table> 
     <div id="HItemType_1"> 
     @Html.CheckBox("HItemType") 
     @*<input type="checkbox" name="test" value="test" id="HItemType" />*@ 
     <label> Academic Dress Set</label> 

     </div> 
    <div id="HsetItem"> 


       @Html.Partial("_LoadHireSetItem", @Model.HireItemSetList) 
     </div> 


      <div id="HseparateItem"> 
       @Html.Partial("_LoadHireSeparateItem", @Model.HireItemSeparatetlist) 
      </div> 


     <table > 
     <tr> 
     <td colspan="2"> 
     Please tell us your measurement: 
     </td> 
     </tr> 
    <tr> 
     <td > 
     Height (in cm): 
     </td> 
     <td> 
     @Html.EditorFor(model => model.height) 


     </td> 
    </tr> 

     <tr> 
       <td > 
       Head circumference (in cm): 
       </td> 
       <td > 
       @Html.EditorFor(model => model.head_circumferenc) 

       </td> 
      </tr> 
      </table> 

     <div> 
     <input class="productlistaddtocartbutton" type="submit" value="Add to cart" name="submitB" id="btnaddtocart"/> 
     </div> 

    } 

감사합니다.

+0

HireItem 동작과 일치하는보기를 표시 할 수 있습니까? – testCoder

답변

0

POST 동작에서 사용할 모든 값에 대한 입력 필드가 있는지 확인하십시오. 예를 들어, 당신은 당신이 그 (것)들을 포함하는 데 필요한 ceremony_id, first_name, middle_namelast_name 속성을 사용하려면 :

@Html.HiddenFor(model => model.ceremony_id) 
@Html.HiddenFor(model => model.first_name) 
@Html.HiddenFor(model => model.middle_name) 
@Html.HiddenFor(model => model.last_name) 

사용자가 자신의 값을 수정하기로되어 있지 않은 경우 당신은 숨겨진 필드를 사용할 수 있지만, 당신은 또한 할 수 요구 사항에 따라 텍스트 필드를 사용했습니다.

+0

감사합니다. 작동 중입니다. – user1348351

관련 문제