Does it really need to be 5? I ask because each tag will be a different width so it'll look ragged anyway. And if you have 5 long tags next to each other they may bleed into the space reserved for other things which is why I think you're saying make it 5 columns.
You you could end up with a tag of vege appearing over a tag called vegetable-patch. Then there would be a huge gap between vege and it's nect column. looks a little odd.
I used a free one. Source included here though I forget where it's from.
Hope this helps.
This is the Helper
public static class MVCTagList
{
public static string TagList(this HtmlHelper helper, IEnumerable<String> tagListItems, object htmlAttributes)
{
StringBuilder TagListMarkup = new StringBuilder();
TagListMarkup.Append("<ul");
if (htmlAttributes != null) TagListMarkup.Append(" " + htmlAttributes.ToAttributeList());
TagListMarkup.Append(">");
foreach (string tagListItem in tagListItems)
{
TagListMarkup.Append("<li>");
TagListMarkup.Append(String.Format("<a href='/Articles/?tag={0}'>{0}</a>", tagListItem));
TagListMarkup.Append("</li> ");
}
TagListMarkup.Append("</ul>");
return TagListMarkup.ToString();
}
}
This is the HTML
<div style="width:450px; margin-left:50px; ">
<%
List<String> TagListItems = new List<string>();
foreach (var tag in Model)
TagListItems.Add(tag.keyword1);
%>
<%= Html.TagList( TagListItems.AsEnumerable(), new { @class="TagList" })%>
</div>
And the CSS
.TagList { margin: 0 0 0 0; padding: 0 0 0 0; }
.TagList li { display:inline; border:1px solid; background-color:#316AC5; margin-left:3px; padding: 3px 3px 3px 3px; line-height:2em;}
.TagList li a { text-decoration:none; color: white; font-size:85%; white-space:nowrap; }