繁体   English   中英

Web模型在ASP.NET MVC中不包含定义

[英]Web model does not contain a definition in asp.net mvc

我在MVC项目中遇到这样的错误:

'xxx.xxx.xxx.MarketplaceViewModel'不包含'MarketplaceCategories'的定义,找不到扩展方法'MarketplaceCategories'接受类型为'xxx.xxx.xxx.MarketplaceViewModel'的第一个参数(您是否缺少using指令?或装配参考?)

我正在尝试以这样的布局访问它

@model xxx.xxx.xxx.MarketplaceViewModel
<div class="mp-options">
            <span class="pull-left">
                @foreach (var item in Model.MarketplaceCategories)
                {
                    <a class="mp-category filter" data-filter=".category-1" href="#">@item.Name</a>
                }

            </span>
            <a href="#" class="mp-icon mp-grid mp-selected" data-view="mp-view-grid">Grid View</a>
            <a href="#" class="mp-icon mp-list" data-view="mp-view-list">List View</a>
        </div>
        <div id="app-container"><!--App Display-->
            <div class="mix category-1" data-my-order="1">
                <ul>
                    @foreach (var item in Model.MarketplaceItems)
                    {
                        <li>
                            <a class="mp-image mp-box-img" href="#">
                                <img src="@Url.Action("Image", new { id = @item.Id})" height="50">
                            </a>
                            <h3 class="mp-title">@item.Name</h3>
                            <div class="mp-price">@item.MinimumPrice.ToString("C") - @item.MaximumPrice.ToString("C")</div>
                            <div class="mp-details">
                                @item.Description
                            </div>
                            <a class="mp-icon mp-add" href="#">Add to cart</a>
                        </li>
                    }
                </ul>
            </div>
        </div><!--/App Display-->

第二个foreach效果很好,但是Model.MarketplaceCategories似乎是引起问题的一个。 我得到上面的错误。 这是模特

public class MarketplaceViewModel
{
    public IEnumerable<MarketplaceCategory> MarketplaceCategories;
    public List<MarketplaceItem> MarketplaceItems { get; set; }
}

MarketplaceCategory对象是这样的

public class MarketplaceCategory : xxxObject
{
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public string Description { get; set; }
}

我缺少什么会导致此错误? 我还专门为类别创建了另一个视图模型

public class MarketplaceCategoryViewModel
{
    public List<MarketplaceCategory> MarketplaceCategories { get; set; } 
}

改用该模型会更容易吗? 但是然后我需要在一页上使用两个模型。

MarketplaceCategories是一个字段,而不是属性。 将模型更改为

public class MarketplaceViewModel
{
  public IEnumerable<MarketplaceCategory> MarketplaceCategories { get; set; } // add get and set
  public List<MarketplaceItem> MarketplaceItems { get; set; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM