Commenting a catch-all route... Refining the item links...

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4041614
This commit is contained in:
loudej
2009-11-21 02:42:45 +00:00
parent a3132fc12d
commit 6010a9b915
4 changed files with 46 additions and 27 deletions

View File

@@ -27,22 +27,22 @@ namespace Orchard.Blogs {
},
new MvcRouteHandler())
},
new RouteDescriptor {
Route = new Route(
"{blogSlug}",
new RouteValueDictionary {
{"area", "Orchard.Blogs"},
{"controller", "Blog"},
{"action", "Item"}
},
new RouteValueDictionary()/* {
{"blogSlug", new IsBlogConstraint()}
}*/,
new RouteValueDictionary {
{"area", "Orchard.Blogs"}
},
new MvcRouteHandler())
}
//new RouteDescriptor {
// Route = new Route(
// "{blogSlug}",
// new RouteValueDictionary {
// {"area", "Orchard.Blogs"},
// {"controller", "Blog"},
// {"action", "Item"}
// },
// new RouteValueDictionary()/* {
// {"blogSlug", new IsBlogConstraint()}
// }*/,
// new RouteValueDictionary {
// {"area", "Orchard.Blogs"}
// },
// new MvcRouteHandler())
// }
};
}
}

View File

@@ -27,7 +27,7 @@
<%=Model.Item.Id %></p>
<p>
ContentType:
<%=Model.Item.ContentType%></p>
<%=Model.Item.ContentType%> <%=Html.ItemDisplayLink(Model.Item) %> <%=Html.ItemEditLink("edit", Model.Item) %></p>
<h3>
Content Item Parts</h3>
<ul>

View File

@@ -9,6 +9,7 @@ namespace Orchard.Models {
_parts = new List<IContentItemPart>();
}
private readonly IList<IContentItemPart> _parts;
public int Id { get; set; }

View File

@@ -6,27 +6,45 @@ using Orchard.Models;
namespace Orchard.Mvc.Html {
public static class ContentItemExtensions {
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, IContentItemPart item) {
var display = item.As<IContentItemDisplay>();
var values = display.DisplayRouteValues();
return html.ActionLink(linkText, Convert.ToString(values["action"]), values);
return ItemDisplayLink(html, linkText, item.ContentItem);
}
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, IContentItemPart item) {
var display = item.As<IContentItemDisplay>();
var values = display.DisplayRouteValues();
return html.ActionLink(display.DisplayText, Convert.ToString(values["action"]), values);
return ItemDisplayLink(html, item.ContentItem);
}
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContentItemPart item) {
var display = item.As<IContentItemDisplay>();
var values = display.DisplayRouteValues();
return html.ActionLink(linkText, Convert.ToString(values["action"]), values);
return ItemEditLink(html, linkText, item.ContentItem);
}
public static MvcHtmlString ItemEditLink(this HtmlHelper html, IContentItemPart item) {
return ItemEditLink(html, item.ContentItem);
}
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, ContentItem item) {
var display = item.As<IContentItemDisplay>();
if (display == null)
return null;
var values = display.DisplayRouteValues();
return html.ActionLink(display.DisplayText, Convert.ToString(values["action"]), values);
return html.ActionLink(linkText ?? display.DisplayText, Convert.ToString(values["action"]), values);
}
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, ContentItem item) {
return ItemDisplayLink(html, null, item);
}
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, ContentItem item) {
var display = item.As<IContentItemDisplay>();
if (display == null)
return null;
var values = display.EditRouteValues();
return html.ActionLink(linkText ?? display.DisplayText, Convert.ToString(values["action"]), values);
}
public static MvcHtmlString ItemEditLink(this HtmlHelper html, ContentItem item) {
return ItemEditLink(html, null, item);
}
}
}