Prosím vás o malou radu. Dynamicky vytvářím menu a do něj přidávám položky, podle toho, že prohledám adresář a každý soubor v něm = jedné položce menu.
Chtěl bych ale, aby se do menu přidalo jen 5 souborů ( položek ), - i když v asresáři bude souborů mnohem víc - a to jen těch 5, které se vytvořily nejpozději.
Už se s tím dělám celkem dlouho. Už jsem si prohlížel CreationTime u souboru, ale nemůžu na nic příjít.
Díky
Fórum › .NET
Asp.net: c#: řazení položek v Menu
No nejidealnejsi by bylo projit vsechny slozky, zjistit si jejich data vytvoreni, ty si nekam ulozit a pak setridit a vytvorit 5 polozek podle prvnich 5 vysledku.
To třídění a podobné věci bych vyřešil LINQem, pomocí kterého to bude hodně snadné.
Pokud už máš například nějakou kolekci souborů pojmenovanou seznamSouboru, ve které budou uložené instance nějaké třídy, která má vlastnost CasVytvoreni a budeš chtít seřadit podle té vlastnosti, tak můžeš napsat takovýhle dotázek:
var query = from f in seznamSouboru orderby f.CasVytvoreni select f;
A pak jen projdeš pomocí cyklem for s pěti iteracemi tuto profiltrovanou kolekci a vypíšeš prvních pět položek.
Díky, ale z LINQ jsem nikdy nepracoval, a vlastně ani nevím co to je. Já bych to potřeboval řešit spíš nějak v kódu dané stránky.
Zatím má cykluc foreach, kteterý mi projde složku a názvy souborů si uloží do proměné....
LINQ se používá přímo v kódu stránky/aplikace. Stačí skutečně jen to, co jsem napsal, ukážu ti ještě jeden příklad použití LINQu, pak už snad budeš mít lepší představu co to je:)
public static void Main()
{
string[] mesta = {"Praha", "Paříž", "Barcelona", "NY", "Vancouver"};
var vybranaMesta = from m in mesta where m.Length < 6 select m;
}
Jak sám vidíš, je to přímo uvnitř kódu. Tento dotaz vybere z pole "mesta" názvy těch měst, které jsou kratší než 6 znaků, tedy vybere Prahu, Paříž a NY.
Kdybys pak chtěl vypsat výsledky do konzole, stačí jen obyčejný foreach:
foreach(string m in vybranaMesta)
{Console.WriteLine(m);}
Tenhle postup vážně doporučuju, kdykoliv chci něco z něčeho někde vybírat, tak je to s LINQem pohodlíčko:)Díky moc za odpověd ;-)
Moc mi to pomohlo
Ještě jedna otázka
Chci na webu použít místo databáze MicrosoftSQL XML soubory. Chtěl bych to ze vším všudy. Aby třeba i přihlašování, role, a podobné věci byly v XML, jako jsou třeba v SQL, ...
Neznáte třeba nějaký článek, který se tím zaobírá, ...
Díky
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
ASP.NET - VB.NET - Zákaz kopírování webu, Context menu — založil Standa
ASP.NET - VB.NET - Složky a Menu — založil .NET
ASP.net - rozbalovací menu — založil XP
ASP.NET, C# - Renderování komponenty Menu — založil Anonymní uživatel
Nový ASP.NET Webhosting a ASP.NET Freehosting — založil ASPIFY.com
Moderátoři diskuze