2013-11-21 52 views
0

我正在处理asp.Net MVC4项目,我需要为列表的每个元素创建ActionLink@Html标记不显示在div中?

这里是我做了什么:

<div class="display-field" id="kalamsDiv"> 
    @foreach(Elections.Domain.Models.Kalam kalam in Model.Kalams) 
    { 
     Html.ActionLink(@kalam.Name, "Details", "Kalam", @kalam.KalamID, ""); 
     <br /> 
    } 
</div> 

并在视图模型我有“卡拉姆”对象的列表:

public virtual ICollection<Kalam> Kalams { get; set; } 

但我没有看到任何ActionLink ,div是空的,我只能看到换行符:<br />。 我在做什么错误?

谢谢:)

回答

1

使用@之前Html.ActionLink和前kalam可变删除它们。创建一个匿名对象routeValues并传递null作为htmlAttributes

<div class="display-field" id="kalamsDiv"> 
    @foreach(Elections.Domain.Models.Kalam kalam in Model.Kalams) 
    { 
     @Html.ActionLink(kalam.Name, "Details", "Kalam", new { ID = kalam.KalamID }, null); 
     <br /> 
    } 
</div> 
+0

它现在的作品:D你能解释一下@做什么?我有点新MVC – Hanady

+1

@Hanady它告诉Razor视图引擎你开始一个C#代码块。 Yuo可以看看这个[post](http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx)以供快速参考 –