我有一個可枚舉模型的視圖。我試圖將文本框與對象的實例的值綁定。這是我的觀點。綁定文本框的枚舉視圖
@model IEnumerable<SeniorProjectMVC.Models.Cart>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h3>Your cart</h3>
@*<p>
@Html.ActionLink("Create New", "Create")
</p>*@
<div class="row">
<div class="large-2 columns">
<h4> @Html.DisplayNameFor(model => model.Quantity)</h4>
</div>
<div class="large-4 columns">
<h4>@Html.DisplayNameFor(model => model.Sku.Product.Name)</h4>
</div>
<div class="large-2 columns">
<h4>@Html.DisplayNameFor(model => model.Sku.Product.Price)</h4>
</div>
<div class="large-1 columns">
<h4>In stock</h4>
</div>
<div class="large-3 columns">
</div>
</div>
@foreach (var item in Model)
{
<div class="row">
<div class="large-2 columns">
@Html.TextBox(item.Quantity.ToString())
</div>
<div class="large-4 columns">
@Html.Display(item.Sku.Product.Name)
</div>
<div class="large-2 columns">
@(item.Sku.Product.Price.ToString("c"))
</div>
<div class="large-1 columns">
@(item.Sku.Quantity > 0 ? "In Stock" : "Out of stock")
</div>
<div class="large-3 columns">
@Html.ActionLink("Edit", "Edit", new { id = item.ID }, new { @class = "button primary" }) |
@Html.ActionLink("Details", "Details", new { id = item.ID }, new { @class = "button primary" }) |
@Html.ActionLink("Delete", "Delete", new { id = item.ID }, new { @class = "button primary" })
</div>
</div>
}
我似乎碰到的問題是,數量不會在文本框中填入,似乎好像是這個名字的產品還沒有顯示出來。我知道產品名稱具有值,但不顯示。另外,如果我想在發生值更改的情況下回發此集合,那麼使用相應ID回發所有文本框值的正確方法是什麼,以便我可以更新購物車中已更改的數量。
您確定每個商品在'Quantity'屬性中都有一個有效值嗎? – Shyju
是的,我可以張貼圖片。價格似乎被正確綁定,但數量沒有在文本框中填充,並且每個產品的名稱也沒有顯示出來。 – ddeamaral
可能你需要在從dbContext中讀取時使用'Include'。 – Shyju