Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按字母顺序对导航链接列表排序_C#_Sorting - Fatal编程技术网

C# 按字母顺序对导航链接列表排序

C# 按字母顺序对导航链接列表排序,c#,sorting,C#,Sorting,我有一个导航链接列表,我想按字母顺序排序,但我在这样做时遇到了麻烦 private void SetMarketDrop(Item CurrentItem) { Item MarketParent = CurrentItem.Axes.SelectSingleItem(@"child::*[@@templatename='gojoMarketGrouping']"); if (MarketParent == null) MarketDropArea.Visible

我有一个导航链接列表,我想按字母顺序排序,但我在这样做时遇到了麻烦

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);
        }
    }
}                 
private void SetMarketDrop(项目CurrentItem)
{
Item MarketParent=CurrentItem.Axes.SelectSingleItem(@“子项::*[@@templatename='gojoMarketGrouping']);
if(MarketParent==null)
MarketDropArea.Visible=false;
其他的
{
MarketHeader.Text=MarketParent.Fields[“主页下拉”].Value;
Item[]MarketSet=MarketParent.Axes.SelectItems(“后代或自身::*[@@templatename='gojoMarketLanding'和@Hidden Page!='1'和@Hide from DropDown!='1']);
if(MarketSet==null)
MarketDropArea.Visible=false;
其他的
{
foreach(MarketSet中的项目MarketItem)
MarketLinks.Text+=string.Format(“”,ScHelper.GetRegionPath(MarketItem),MarketItem.Fields[“菜单标题”].Value);
}
}
}                 

这段代码显示了所有必要的导航项,但它们的顺序不正确。我不知道先对“菜单标题”字段排序,然后添加超链接是否更容易,或者是否有一种方法可以一步完成。我尝试将MarketLinks文本字段中的内容转换为字符并按字母顺序进行排序,但没有达到预期效果。

您尝试过类似的方法吗

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);
foreach(MarketSet.OrderBy中的项目MarketItem(x=>x.Fields[“菜单标题”].Value))
MarketLinks.Text+=string.Format(“”,ScHelper.GetRegionPath(MarketItem),MarketItem.Fields[“菜单标题”].Value);

愿医生与您同在。

分享更多代码。我只看到您向MarketLinks添加了一个项目。你认为排序失败的地方在哪里?MarketSet排序了吗?忘了你现在在做什么,等几分钟,把你的问题当作一个清醒的大脑来读。你了解我添加的foreach中填充MarketLink的内容吗。我试图在构建链接列表后对其进行排序(基本上,在foreach之后,但这不起作用。什么是MarketSet?它是可排序类型吗?这就是我想要的!我尝试使用.OrderBy,但从未想过这样使用它。它似乎已经纠正了问题,所以谢谢!