Trailing on the lead from Chris Blankenship and his singlepost user control, I created a multi-post user control. I’ve never been quite satisfied with the results of the recent posts control and Chris’s control filled in enough gaps for me to pursue this further.
I happen to keep my custom controls in /UserCustom instead of /UserControls. That way, I know these controls are not Blog Engine.Net controls and won’t need to be merged in the future.
Example
Everyone that writes content on the web should know a little HTML. This is my cheat sheet for the most common used HTML elements I've seen that are supported in multiple browsers, tools, and CMS software.
Most browsers and servers have default values that provide fairly good performance with a minimum caching of static file content. A little bit of coaxing can result in better performance with less traffic and less bandwidth.
There are two types of caching I discuss: static content (*.jpg, *.jpeg, *.png, *.gif, *.ico) rarely updated and semi-static content (*.js, *.css) updated very infrequently. The decision to cache page output (*.aspx, *.html) long term is too dependent on application functionality decisions to discuss generically.
Windows Live Writer provides a handful of helpful image enhancement features. It's not PhotoShop by any means, but it's quick.
Usage from ASP
1: <%@ Register src="../../UserCustom/MultiPosts.ascx" tagname="MultiPosts" tagprefix="uc7" %>
1: <uc7:MultiPosts ID="MultiPosts1" runat="server"
2: CategoryList="photography"
3: ContentLength="120"
4: Count="3"
5: DateFormat="{0:MM/dd/yyyy}"
6: ShowAuthor="false"
7: ShowContent="true"
8: ShowDate="false"
9: ShowDescription="true"
10: ShowTitle="true" />
Usage in Posts or Pages
Remove the space between the bracke and the word usercontrol.
1: [ usercontrol: ~/UserCustom/MultiPosts.ascx
2: ShowDescription=true;
3: Count=3;
4: ShowContent=false;
5: ShowAuthor=true;
6: ShowDate=true;
7: ShowTitle=true;
8: ContentLength=360;
9: CategoryList=photography;
10: DateFormat={0:MM/dd/yyyy}; ]
Post.cs Add AuthorAbsoluteLink
In order to reduce some of the clutter in the ASCX control template, I created a new property on the Post object to display the Authors link. If you want to stay with the mainline BE code base, you’ll need to modify the ASCX to set the asp:Hyperlink for AuthorLink to the code shown below.
1: public Uri AuthorAbsoluteLink
2: {
3: get
4: {
5: string authorLink = Utils.RemoveIllegalCharacters(Author);
6: authorLink = Utils.RelativeWebRoot + "author/" + HttpContext.Current.Server.UrlEncode(authorLink) + BlogSettings.Instance.FileExtension;
7: return Utils.ConvertToAbsolute(authorLink);
8: }
9: }
Download
UserCustom.zip (2.37 kb)