在MVC中构建链接的最佳实践

时间:2010-08-06 21:24:29

标签: asp.net-mvc-2 asp.net-mvc-routing

如果我不想在我的视图标记中执行此操作,

<%=Html.RouteLink("Listings", "Listings", new {market = "Austin", state = "Texas", pagenumber = 3 })%>

在MVC 2中创建链接的最佳方法是什么?我有一个HTML帮助器来构建自定义链接,但它所做的只是充当RouteLink(或ActionLink)的包装器。我想要一些更优雅的东西和一个语法更短的东西。如果我在控制器中构建链接,如何将其推入视图?通过ViewData? (希望不是)。或者它是ViewModel的一部分吗?

2 个答案:

答案 0 :(得分:2)

长期来看,我认为您在MVC Futures库中看到的Html.ActionLink是飞行的方式:

<%= Html.ActionLink<ListingsController>(x => x.Listings("Austin", "Texas", 3)) %>

使用你的HtmlHelpers,即使它们只是围绕当前基于魔术字符串的功能包装,因为它至少可以减少你对魔术字符串的正面影响并提供单点改变。

如果我能帮助它制作语法糖,我就不会参与在后端建立链接。

答案 1 :(得分:2)

我喜欢使用T4MVC比MVC Futures ActionLink助手更好。你的行看起来像这样:

<%:Html.ActionLink("Listings", MVC.Listings.Index("Austing", "Texas", 3)) %>

http://mvccontrib.codeplex.com/wikipage?title=T4MVC