簡體   English   中英

按字母順序對導航鏈接列表進行排序

[英]Sort a list of navigation links alphabetically

我有一個導航鏈接列表,我想按字母順序排序,但是這樣做很麻煩。

private void SetMarketDrop(Item CurrentItem)
{
    Item MarketParent = CurrentItem.Axes.SelectSingleItem(@"child::*[@@templatename='gojoMarketGrouping']");
    if (MarketParent == null)
        MarketDropArea.Visible = false;
    else
    {
        MarketHeader.Text = MarketParent.Fields["Home Page  Drop Down"].Value;
        Item[] MarketSet = MarketParent.Axes.SelectItems("descendant-or-self::*[@@templatename='gojoMarketLanding' and @Hidden Page != '1' and @Hide from DropDown != '1']");
        if (MarketSet == null)
            MarketDropArea.Visible = false;
        else
        {
            foreach (Item MarketItem in MarketSet)
                MarketLinks.Text += string.Format("<a href=\"{0}\">{1}</a>", ScHelper.GetRegionPath(MarketItem), MarketItem.Fields["Menu Title"].Value);
        }
    }
}                 

這部分代碼顯示了所有必要的導航項,但是它們的順序不正確。 我不知道先對“菜單標題”字段進行排序然后再添加超鏈接是否更容易,或者是否有一種方法可以一步完成。 我嘗試將MarketLinks文本字段中的內容轉換為CharArray並按字母順序對其進行排序,但是它沒有按預期工作。

您是否嘗試過類似的方法?

foreach (Item MarketItem in MarketSet.OrderBy(x => x.Fields["Menu Title"].Value))
  MarketLinks.Text += string.Format("<a href=\"{0}\">{1}</a>", ScHelper.GetRegionPath(MarketItem), MarketItem.Fields["Menu Title"].Value);

願醫生與您同在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM