错误CS0135:'Model'与声明'System.Web.Mvc.ViewPage <tmodel> .Model'</tmodel>冲突

时间:2011-11-11 14:23:43

标签: c# asp.net-mvc model-view-controller mvvm telerik

我在尝试使用ViewModel在视图中实现forloop时遇到问题。

我有这个ViewModel

public class EventDashboard
{
    public int Id {get;set;}

    public string Name {get;set;}
    public string Email {get;set;}
    public string Phone {get;set;}

    public ICollection<FighterDetails> FightersFees{ get; set; }

    public void LoadFighterDetails(int eventId, int fighterId, aContext ac, bContext bc){

        Fighters fighter = ac
            .Fighters
            .Include(npo => npo.FighterAddress)
            .FirstOrDefault(npo => npo.FighterId== fighterId);

        this.Name = fighter.Name;
                    this.Email = fighter.Email;
                    this.Phone = fighter.Phone;

        LoadFees(bc, fighterId);
    }

    public void LoadFees(bContext bc, int fighterId)
    {
                 var fees = bc.Fees.Where(f => f.fighterId == fighterId);
                 FightersFees = new List<FighterDetails>();

                 foreach(var f in fees){
                    this.FightersFees.Add(new FighterDetails{
                             //fill the properties
                       });
                 }
            }
    }

public class FighterDetails
{
    public string FighterName { get; set; }
    public int fighterId { get; set; }
    public decimal FighterFee { get; set; }
}

在我看来:

        <% foreach( var d in Model.Fighters){ %>
        <%} %>

但它不断推出该错误(关于主题)。想知道为什么它会在viewmodels上发生。关于如何帮助我理解这个错误的任何想法都非常感激。

修改

  • 添加了其余代码

  • 该项目目前正在使用ef 4.0。不确定这是否相关。

1 个答案:

答案 0 :(得分:3)

显然你不能使用&#34;模型&#34;如果你已经宣布了它就宣告了什么?

好吧,为了更好地解释它,这对我有所帮助。 Model conflicts with declaration

我实际上是在前几个编辑框中声明了Model 例如。 <%: Html.DisplayFor(Model => Model.FighterName)%>

然后再次在foreach上调用它。第一次声明它会导致错误。