全部, 在NerdDinner中做一些Spark和MVC的实验。普通/ aspx视图运行良好,我没有触及任何控制器代码,所以我很确定它不是那样。
<viewdata model="System.Collections.Generic.IEnumerable[[NerdDinner.Models.Dinner]]"/>
<set Title="'Upcoming Dinners'"/>
<content:main>
<li each="p in Model">
!{Html.ActionLink(p.Title, 'Details', 'Dinners')}
</li>
</content:main>
鉴于上面的代码,ActionLink呈现为http://serverName/Controller/Action/ 这很好。当我尝试为我的动作方法提供ID时,我开始碰壁。据我从Spark示例文档中可以看出,我应该能够做到这样的事情:
!{Html.ActionLink(p.Title, 'Details', 'Dinners', new {id = p.DinnerID} )}
然而,这引发了一个异常: “意外令牌'{'”
我希望这是愚蠢的我不知道......有什么建议吗?
答案 0 :(得分:0)
我相信在动作链接上应该为Html.ActionLink提供HTML属性的另一个参数。尝试:
!{Html.ActionLink(p.Title, 'Details', 'Dinners', new {id = p.DinnerID}, null )}