2010-07-26 36 views
0

我跟随的NerdDinner ASP.Net MVC教程的使用情况和我有下面的代码行:需要一些帮助理解这个Html.ActionLink()

<%= Html.ActionLink("Edit Dinner", "Edit", new { id = Model.DinnerID}) %> | 
<%= Html.ActionLink("Delete Dinner", "Delete", new { id = Model.DinnerID }) %>   

我不明白的是为什么ActionLink的第三个参数需要一个新的命令。有人可以详细说明吗?

为什么需要创建一个新的{},而不是仅仅传递ActionLink ModelDinnerID而不将其实例化为另一个变量?

回答

0

我相信它的存在主要是为了使我们能够在多个路由传递值:

/博客/ [用户名] /存档/ [年]/[月]/[日]/[标题]

<%= Html.ActionLink("Blog", "Details", new { username = Model.Username, year = Model.year, month = Model.month, day = Model.day, title = Model.title }) %> 

虽然,我承认,当你定义的所有东西都是一个微不足道的ID值时,必须实例化一个新对象是很繁琐的。不幸的是,你所写的代码在这一点上是最简洁的。