1

ページの上部にシステムに映画を入力するためのフォームがあり、ページの下部にインベントリ内のすべての映画を表示するテーブルが必要です。次のエラーが表示されます: 値を 1 未満にすることはできません。パラメータ名: ページ サイズ。

現在、次のようなビューモデルがあります。

public class InventoryViewModel
{
    public Inventory Inventory { get; set; }
    public IPagedList<Inventory> InventoryList { get; set; }
}

私のコントローラーには次のものがあります:

public ActionResult Index(int? page)
    {
        ViewBag.MoviesList = new SelectList(inventoryRepository.Movies, "MovieId", "Title");

        InventoryViewModel vm = new InventoryViewModel
        {
            Inventory = new Inventory(),
            InventoryList = inventoryRepository.GetInventory.ToPagedList(page.HasValue ? page.Value - 1 : 0, defaultPageSize)
        };
        return View(vm);
    }

私の見解では:

<div class="well">
<h4>Enter Movie in System:</h4>

@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "Movie was not entered in system. Please correct the errors and try again.")
    <div>
        <div class="input-prepend">
            <span class="add-on"><i class="icon-film"></i></span>
            @Html.DropDownListFor(m => m.Inventory.MoviesId, (SelectList)ViewBag.MoviesList)
            @Html.ValidationMessageFor(m => m.Inventory)
        </div>      


        <div class="input-prepend">
            <span class="add-on"><i class="icon-calendar"></i></span>
            @Html.TextBox("Quantity")
        </div>
        <p><button class="btn btn-primary" type="submit" value="Submit">Submit</button></p>
        @Html.ValidationSummary()
    </div>
}
</div>

<div>
    <h3>Current Inventory:</h3>
</div>
<table class="table table-bordered table-hover">
    <thead>
        <tr>
            <th style="width: 15%;">Checkout Number</th>
            <th style="width: 15%;">Title</th>
            <th style="width: 23%;">Availability</th>
            <th style="width: 17%;"></th>
        </tr>
    </thead>
    <tbody>
        @foreach (var vm in Model.InventoryList.OrderBy(m => m.CheckoutNum))
        {
            <tr>
                <td>@vm.CheckoutNum</td>
                <td>@vm.Movies.Title</td>
                <td>@vm.isAvail</td>
                <td>

                </td>
            </tr>
        }
    </tbody>
    <tfoot>
       <tr>
          <td colspan="4">
                @Html.Pager(Model.InventoryList.PageSize, Model.InventoryList.PageNumber, Model.InventoryList.TotalItemCount).Options(o => o
                    .DisplayTemplate("BootstrapPagination").RouteValues(new { q = ViewBag.Query, area = "" } )
                    .AlwaysAddFirstPageNumber().MaxNrOfPages(5))
          </td>
        </tr>
    </tfoot>
</table>
4

1 に答える 1