0

ユーザーが特定の機能でアイテムをフィルター処理できる ASP MVC 4 Web アプリケーションを開発しています。ビューでフォームを使用していますが、フォーム送信時にnullがコントローラーに渡されます

ここにコードスニペットがあります

意見:

 @using (Html.BeginForm("Category", "Catalog", new {filteringModel = Model.ProductFilteringModel}))
        {
        <div>
            <div class="filter-item">
                <h1 id="filter-parameters">
                    по  параметрам
                    <br/>
                </h1>
                <div class="filter-field-input">
                    @Html.CheckBoxFor(x => x.ProductFilteringModel.ShowAvailable)    
                </div>
                <div class="filter-field-title">
                    @Html.LabelFor(x => x.ProductFilteringModel.ShowAvailable)
                </div>
            </div>
            <div class="filter-item">
                <ul class="filter-field-list">
                @foreach (var skinType in Model.ProductFilteringModel.SkinTypes)
                {
                    <li class="filter-list-item">
                        <div class="filter-field-input">
                            @Html.CheckBox(skinType.Title, false)
                        </div>
                        <div class="filter-field-title">
                            @Html.Label(skinType.Title)
                        </div>
                    </li>
                }
                </ul>
            </div>
            <div class="filter-item">
                <ul class="filter-field-list">
                    @foreach (var expected in Model.ProductFilteringModel.ExpectedResults)
                    {
                        <li class="filter-list-item">
                            <div class="filter-field-input">
                                @Html.CheckBox(expected.Title, false)
                            </div>
                            <div class="filter-field-title">
                                @Html.Label(expected.Title)
                            </div>
                        </li>
                    }
                </ul>
             </div>
            <input type="submit" value="Filter"/>
        </div>
        }

コントローラ:

       public ActionResult Category(int categoryId, CatalogPagingFilteringModel command, ProductFilteringModel filteringModel)
    {
     //Do something
    }

また、私のフィルタリングモデル:

    public class ProductFilteringModel
{
    public bool ShowAvailable { get; set; }
    public List<ItemFeatureModel> SkinTypes { get; set; }
    public List<ItemFeatureModel> ExpectedResults { get; set; }
}

public class ItemFeatureModel
{
    public string Id { get; set; }
    public string Title { get; set; }
    public bool Selected { get; set; }
}
4

0 に答える 0