2012-07-20 2 views
0

를 업데이트하지 나는 온라인 검색 나는 내 코드가 정확해야한다고 생각하지만 모델 필드를 제출할 때 항상 0 모델입니다 :MVC html.dropdownlistfor 모델 필드를

public class ProductsModel 
    { 
     public List<Products> ProductCommission; 
     public List<ProductGroupType> ProductGroupType; 
     public CommissionType CommissionType; 
     public int FilterProductGroupTypeId; 
     public string Status; 

    } 

보기 :

@Html.DropDownListFor(m => Model.FilterProductGroupTypeId, new SelectList(Model.ProductGroupType, "ID", "Description"), "All") 
    @Html.HiddenFor(m => Model.FilterProductGroupTypeId); 
     @* @Html.ActionLink("Filter", "FilterProductTypes", "Products", new { filterid = Model.FilterProductGroupTypeId });*@ 
<a href="@Url.Action("FilterProductTypes", "Products", new { filterid = Model.FilterProductGroupTypeId})">Filter</a> 

컨트롤러 : 아무리

public ViewResult FilterProductTypes(int filterid) 
     { 
... 
} 
제대로

드롭 다운리스트를 표시하지만 I의 그것을 선택하면 컨트롤러에 0이 전송됩니다.

답변

0

시도 :

@Html.DropDownListFor(m => m.FilterProductGroupTypeId ..etc) 

그리고 당신은 확실히 모든 것이 <form> 요소에 싸여되어 있는지 확인하고 해당를 제출할 때, 모든 값이 모델에 바인딩해야합니다 있습니다 .. Html.HiddenFor 필요가 없습니다 (같은 오래받은대로 [HttpPost] 속성을받습니다.