Краткий ответ: Нет. В ASP.NET MVC Preview 3 нет первоклассного способа включения якоря в ссылку действия. В отличие от Rails 'url_for: anchor, UrlHelper.GenerateUrl (и ActionLink, RedirectToAction и т. Д., Которые его используют) не имеют магического имени свойства, позволяющего кодировать якорь.
Как вы указали, вы можете бросить свой собственный, который делает. Это, наверное, самое чистое решение.
К счастью, вы можете просто включить привязку в маршрут и указать значение в хэше ваших параметров:
routes.MapRoute("WithTarget", "{controller}/{action}/{id}#{target}");
...
<%= Html.ActionLink("Home", "Index", new { target = "foo" })%>
Будет сгенерирован URL-адрес, например / Home / Index / # foo. К сожалению, это плохо сочетается с параметрами URL, которые появляются в конце URL. Так что этот хак работает только в действительно простых обстоятельствах, когда все ваши параметры отображаются как компоненты пути URL.