Правильное использование Html.BeginCollectionItem

Я новичок в 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>

Стоит отметить, что я вошел в свой основной вид, и в "элементах" есть данные, но при частичном просмотре текстовые поля не отображаются. Я новичок в веб-коде, поэтому надеюсь, что мне не хватает чего-то простого (посмотрел много уроков и, может быть, я просто что-то пропускаю)

Дайте мне знать, если есть какая-либо дополнительная информация, которую я могу предоставить.

0 ответов

Другие вопросы по тегам