MVC3如何创建URL

时间:2011-09-21 08:46:07

标签: asp.net-mvc-3 url

我看到人们使用Html.ActionLink()和Url.RouteUrl()等。 但是,如果路线需要重新设计,这肯定会导致维护噩梦吗?

人们如何以类型安全且易于管理的方式组织URL的生成?

3 个答案:

答案 0 :(得分:2)

通过lambda表达式生成的强类型URL在MVC 1.0 beta时间段内可用一段时间。它已被删除,因为MVC架构实际上没有动作名称和控制器方法名称之间的1对1映射。有关详细信息,请参阅此Phil Haack blog post

当然仍然可以这样做,假设你没有使用与方法名称不同的动作名称,它应该可以正常工作。

答案 1 :(得分:1)

如果您想调用某个操作,请使用Html.ActionLink()。这将为所选操作创建<a href="..." ></a>超链接。

如果您想创建网址而不是用于超链接,可以使用Url.Content()Url.RouteUrl()。内容接受一个字符串并生成一个安全的URL。 Route url采用路径对象。

答案 2 :(得分:1)

您可以使用T4MVC在编译时为MVC网址生成类型安全检查。

T4MVC分析您的Controller类,并生成将生成类型安全URL的代码。

而不是

@Html.ActionLink("New customer", "Create", new { Controller = "Customer", orgID = orgID })

您可以使用以下代码:

@Html.ActionLink("New customer", MVC.Customer.Create(orgID))