I serialize a class into a JSON obeject, and then deserialize it and pass it to Repeater as it's datasource object. Using the new Model binding functionalty of .NET 4.5 I can display the content as follows:
<asp:Repeater runat="server" ID="rptResults" ItemType="BTSanctions.Global.Models.Entity">
<ItemTemplate>
<div class="Results">
<asp:Label runat="server" ID="lblMessageId" Visible="false" Text='<%#: Item.MessageId %>'></asp:Label>
<p><strong>Countries: </strong><asp: ID="ListOfCountries" runat="server" Text='<%# Item.Countries %>'></asp:></p>
<p><strong>Matched Percent: </strong><asp:Label runat="server" ID="lblMatchedPercent"></asp:Label></p>
<p><strong>Search String: </strong><asp:Literal ID="ltSearchString" runat="server" Text='<%#: Item.SearchedString %>'></asp:Literal>
<p><strong>Matched On: </strong><asp:literal ID="ltMatchedOn" runat="server" Text='<%#: Item.MatchedString %>'></asp:literal></p>
</div>
</ItemTemplate>
</asp:Repeater>
So, MessageId, Matched Percentage, Search String and Matched On are single values, but Countries are an array. I'm not sure how, and even if this is possible to create them within the repeater.
My JSON string is :
{"Aka":["Wayne"],"Countries":["United States: 1","United States: 2"]"PercentageMatch":100,"SearchedString":"Wayne","MatchedString":"Wayne"}
EDIT
[Serializable]
public class Entity
{
public string MessageId { get; set; }
public List<string> Aka;
public List<string> Countries;
public string Id { get; set; }
public string ItemType { get; set; }
public string DateListed { get; set; }
public string Gender { get; set; }
public string List { get; set; }
public List<string> IdentNumbers;
public List<string> ListingReasons;
public List<string> Names;
public int PercentageMatch { get; set; }
public string SearchedString { get; set; }
public string MatchedString { get; set; }
public string Sender { get; set; }
}