diff --git a/src/Orchard/Mvc/Html/ContentItemExtensions.cs b/src/Orchard/Mvc/Html/ContentItemExtensions.cs
index 8524091c7..c8caa9a03 100644
--- a/src/Orchard/Mvc/Html/ContentItemExtensions.cs
+++ b/src/Orchard/Mvc/Html/ContentItemExtensions.cs
@@ -100,6 +100,19 @@ namespace Orchard.Mvc.Html {
Convert.ToString(metadata.EditorRouteValues["action"]),
metadata.EditorRouteValues.Merge(additionalRouteValues));
}
+
+ public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues, object htmlAttributes = null)
+ {
+ var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
+ if (metadata.EditorRouteValues == null)
+ return null;
+
+ return html.ActionLink(
+ NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
+ Convert.ToString(metadata.EditorRouteValues["action"]),
+ metadata.EditorRouteValues.Merge(additionalRouteValues),
+ new RouteValueDictionary(htmlAttributes));
+ }
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, IContent content) {
return ItemAdminLink(html, null, content);