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
ASP.net has that neat little feature where all the controls can start with a prefix. It makes it easy to code. I had numerous custom controls and I always had to register the control on each page to use it. Scott Guthrie had a great tip on how to register the controls in the web.config file so that it doesn’t have to be done in each page.
BlogEngine.Net supports XMLRPC and the MetaWeblog API. This allows it to support other tools like Windows Live Writer. But where are the specifications for the API and WLW found? I came across some interesting related links along the way in trying to figure out how to add proper slug support for pages in BlogEngine.Net.
Is Software As a Service hype or real. Microsoft Exchange Server Hosting is not only real, but extremely cost effective.
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)