0

我的控制器无法获取从控制器传回的模型。我花了整个上午都想不通,如果有人可以帮助我,请拨出它。谢谢!!!

补充:我有点遵循这个例子,它只有表单标签而不是ajax表单

MVC4将模型从视图传递到控制器

模型 它是一个产品实体列表,我正在使用 .net 实体框架进行数据库访问

public class VM_Products
{
    public List<FMST_Product> Products { get; set; }
}

控制器

private FMSTEntities ctx = new FMSTEntities();

public ActionResult Index()
{
  VM_Products vmps = new VM_Products();

  vmps.Products = ctx.FMST_Product.ToList();

  return View("Index", vmps);
}

// when I step in, the SelectedProducts is always null ???
public ActionResult AddToCart(FMST_Product SelectedProducts)  
{
        return View();
}

看法

@using FMST
@using FMST.Models
@model VM_Products

<ul id="products" class="list clear">           
            @foreach (var p in Model.Products)
            {
                <form action="POST" id=@p.ProductID>
                    <li class="clearfix">
                    @p.ProductID
                    <br>
                    @p.ProductName
                    <br>
                    @p.ProductDesc
                    <br>
                            @p.ProductPrice
                            <span class="darkview">
            @Html.ActionLink("Add To CT","AddToCart","Product",p);

                            </span>
                    </li>

            </form>   
            }
</ul>
4

2 回答 2

0

从以下位置更改您的 html 助手:

@Html.ActionLink("Add To CT","AddToCart","Product",p);

至:

@Html.ActionLink("Add To CT","AddToCart","Product",p,null);

由于您ControllerName在 html 帮助器中指定了,因此您需要通过将 null 作为最后一个参数传递来强制帮助器使用正确的重载。

于 2013-11-11T21:08:24.743 回答
0

看起来您的 AddToCart 操作需要一个产品列表,但您正在传递一个产品。

可以在一个步骤中将多个产品添加到购物车吗?希望这能为您指明正确的方向。

于 2013-11-11T17:59:41.973 回答