Multi Post User Control

Mar 11, 2009
by:   Tim Stanley

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

How To Get The Optimal Web Page Layout

If you are creating a web site with a consistent layout, there are a few very critical decisions that you must make now. If you don't make them correctly, and you want to change the layout in the future, you'll likely have to modify the design on all the pages on your web site. Experience teaches you which decisions you have to make now that matter and which decisions you can postpone. This article shares some of the experiences I've learned and hopefully how to avoid some of the headaches of having to change the design for all pages on a site.

How To Restore A SQL User After a SQL Database Restore

You backed up your Microsoft SQL Database and restored it on another system, but the user id's you've used before can not access the database. This article is a summary of how to quickly configure the SQL Server database so that your previous user id's can access the database properly.

How To Enable SQL 2005 For Remote Access

If you have recently installed SQL Server 2005, for security purposes, external and remote access is not enabled by default. If you try to connect to a SQL Server database from an external machine you may see one of the following errors. SQL Server does not allow remote connections, etc.

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)

Add to favorites Send to a friend Digg It! DZone It! StumbleUpon Technorati Reddit Del.icio.us NewsVine Furl BlinkList