This seems a bit bizarre to me, but as far as I can tell, this is how you do it.
I have a collection of objects, and I want users to select one or more of them.  This says to me "form with checkboxes."  My objects don't have any concept of "selected" (they're rudimentary POCO's formed by deserializing a wcf call).  So, I do the following:
public class SampleObject{
  public Guid Id {get;set;}
  public string Name {get;set;}
}
In the view:
<%
    using (Html.BeginForm())
    {
%>
  <%foreach (var o in ViewData.Model) {%>
    <%=Html.CheckBox(o.Id)%> <%= o.Name %>
  <%}%>
  <input type="submit" value="Submit" />
<%}%>
And, in the controller, this is the only way I can see to figure out what objects the user checked:
public ActionResult ThisLooksWeird(FormCollection result)
{
  var winnars = from x in result.AllKeys
    	  where result[x] != "false"
    	  select x;
  // yadda
}
Its freaky in the first place, and secondly, for those items the user checked, the FormCollection lists its value as "true false" rather than just true.  
Obviously, I'm missing something.  I think this is built with the idea in mind that the objects in the collection that are acted upon within the html form are updated using UpdateModel() or through a ModelBinder.  
But my objects aren't set up for this; does that mean that this is the only way?  Is there another way to do it?