开发者

Render similar data in ASP.NET by grouping

开发者 https://www.devze.com 2022-12-26 14:31 出处:网络
I am trying to create some dynamic html out of some data from db. My data returned from db is: ApplicationNameURL

I am trying to create some dynamic html out of some data from db. My data returned from db is:

ApplicationName       URL
------------------------------
AppName1              URL1
AppName2              URL1
AppName2              URL2
AppName1              URL2

开发者_Go百科I want that all URL's for a single application should be rendered under one heading of ApplicationName. Like:

AppName1

      URL1

      URL2

AppName2

      URL1

      URL2

Can anyone help me in the code for this?


Your code behind probably has something like this, so you can access the items in your aspx markup:

public Item[] DataItems { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
    // get your list
    DataItems = new[]
                    {
                        new Item{ ApplicationName = "Test", Url = new Uri("http://test.com/Home")},
                        new Item{ ApplicationName = "Test", Url = new Uri("http://test.com")},
                        new Item{ ApplicationName = "Test 2", Url = new Uri("http://test2.com/Home")},
                        new Item{ ApplicationName = "Test 2", Url = new Uri("http://test2.com/")},
                    };
}

Then in your aspx file, simply throw in some linq into the mix to perform the grouping operation:

 <ul>
<% foreach (var aggregateItem in (from item in DataItems
                                  group item by item.ApplicationName
                                  into groupedItem
                                  select new { Name = groupedItem.Key, Items = groupedItem })) %>
<% { %>

    <li><strong><%= aggregateItem.Name%></strong>
        <ul>
            <% foreach (var subItem in aggregateItem.Items) %>
            <% { %>
                <p>
                    <a href="<%= subItem.Url %>"><%= subItem.Url %></a>
                </p>
            <% } %>
        </ul>
    </li>
<% } %>
</ul>
0

精彩评论

暂无评论...
验证码 换一张
取 消