0

私は MVC/Razor/Web が初めてで、最終的にアイテムのリストを編集できるようになることを望んでいます。現在、Html.BeginCollectionItem を使用してこれらのアイテムを表示しようとしていますが、機能していません (エラーはなく、表示されません)。私のアイテム。) 以下に私のコードをリストしました:

モデル:

namespace EditList
{
    public class GiftModel
    {
        public string Name { get; set; }
        public double Price { get; set; }
    }
}

コントローラ:

namespace EditList
{
    public class GiftController : Controller
    {
        public ActionResult Index()
        {
            GiftModel[] initalData = new[] 
            {
                new GiftModel{Name = "Tall Hat", Price = 39.95},
                new GiftModel{Name = "Long Cloak", Price = 120.00}
            };

            return View(initalData);
        }
    }
}

メイン ビュー:

@{
    Layout = null;
}
@model IEnumerable<GiftModel>

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
</head>
<body>
    <h2>Gift List</h2>
    What do you want for your birthday?

    @using(Html.BeginForm())
    {
        <div id="EditorRows">
            @foreach (var item in Model)
            {
                Html.RenderPartial("GiftEditorRow", item);
            }
        </div>

        <input type="submit" value="Finished"/>
    }

</body>
</html>

部分図:

@model GiftModel
<div class="editorRow">
    @using(Html.BeginCollectionItem("gifts"))
    {
        <div>HELLO</div>
        Html.DisplayFor(m => m.Name);
        Html.TextBoxFor(m => m.Name);
        //Html.TextBoxFor(m => m.Price, new { size = 4 });
    }
</div>

注意すべきことの1つは、メインビューに足を踏み入れ、「アイテム」にデータがありますが、部分ビューにはテキストボックスなどが表示されないことです..私はWebコードに慣れていないので、単純なものが欠けていることを願っています(多くのチュートリアルを見てきましたが、何かを見落としているだけかもしれません)

提供できる追加情報があれば教えてください。

4

0 に答える 0