0

オンラインで検索したところ、コードは正しいはずですが、送信するとモデルフィールドは常に0になります。モデル:

 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)
        {
...
}

ドロップダウンリストは正しく表示されますが、何を選択しても、コントローラーに0が送信されます。

4

1 に答える 1

0

試す:

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

..必要はありませんHtml.HiddenFor。すべてが要素でラップされていることを確認してください。<form>それを送信するときは、すべての値をモデルにバインドする必要があります([HttpPost]受信アクションに属性がある場合)。

于 2012-07-20T03:28:25.253 に答える