【发布时间】:2016-02-14 08:16:45
【问题描述】:
我无法在我的选择中获得选择的值。如果选项值与项目的选定值相同,我想在选项中查看该选定值。但现在它显示了 foreach 循环中的最后一个值。
这是我的控制器;
public ActionResult Cart()
{
if (Session["cartpastahemen"] == null)
{
ViewBag.CartIsEmpty = "Yes";
}
else
{
Cart s = Session["cartpastahemen"] as Cart;
}
ViewBag.Drinks = db.Products.Where(y => y.Category.Name == "İçecek");
return View("Cart", Session["cartpastahemen"] as Cart);
}
这是我的看法;
@foreach (CartProduct item in Model)
{
using (Html.BeginForm("ChangeCart", "Home", new { id = item.ProductId, root = "Cart" }, FormMethod.Post))
{
if (item.Category == "Pasta")
{
@switch (item.Size)
{
case "0":
<div class="cart-sides-drinks-container">
<select name="Drinks1">
@foreach (var drink in ViewBag.Drinks)
{
<option id="Drinks1" value="@drink.Name" selected="@(item.Drinks1 == drink.Name.ToString() ? "selected" : "")">@drink.Name</option>
}
</select>
</div>
【问题讨论】:
-
为什么你不使用强类型的
DropDownListFor()megthid 并绑定到你的模型 -
这很简单,但我的型号是 Cart,我需要发送 CartProduct 型号信息。
-
这与它有什么关系(与您的模型无关)。
-
如果型号不同,我不知道该怎么做。你能帮我处理一下我的案子吗?
-
为
CartProduct(比如_CartProduct.cshtml)创建一个包含你的BeginForm()的部分,你可以使用@Html.DropDownListFor(m => m.Drinks1, new SelectList(ViewBag.Drinks, "Name", "Name"), new { id = "" })和在主视图中@foreach (CartProduct item in Model) { @Html.Partial("_CartProduct", item) }。
标签: model-view-controller option selected dynamic-html