I just wrote perhaps the ugliest bit of MVC code in existence. It is:
<table>
<tr>
<%
int i = 0;
foreach(Thyla.Models.Tag tag in this.Model)
{
i += 1;
%>
<td>
<span>
<input type="checkbox" name="TagSelector" id='<%= tag.TagName%>' value='<%= tag.TagName%>' />
<label for="<%= tag.TagName%>" title="<%= tag.TagName%>"><%= tag.TagName%></label>
</span>
</td>
<%if (i % 5 == 0){%>
</tr><tr>
<%} %>
<%} %>
<% if (i % 5 != 0){%></tr><%} %>
</table>
What is the canonical approach to making a checkbox list with a specified number of columns in ASP.NET MVC?
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
This is the HTML
And the CSS