Dies bezieht sich auf die Frage von gestern "How do I create folders in ASP.NET in code behind". Das Problem ist, dass ich zur Laufzeit dynamische Ordner erstellen möchte. Ordnernamen werden über eine TextBox eingegeben und die Ausgabe wird in einer Baumansicht angezeigt. Das Formular wird gesendet, wenn ich den ersten Ordnernamen in Textfeld1 eingeben und auf die Schaltfläche "Ordner hinzufügen" klicken. Wenn ich mehrere Ordner mit demselben Namen übergebe, sollte die Ausgabe eine indizierte Erhöhung des Namens sein (z. B. FooFolder, FooFolder (2), FooFolder (3) usw.). Es gibt zwei Ereignisse: Ordnerereignis hinzufügen und Ordnerereignis entfernen. Wenn ich einen bestimmten untergeordneten Ordner auswähle und auf die Schaltfläche "Ordner entfernen" klicke, wird der Ordner entfernt. Zum Hinzufügen eines Ordners habe ich den folgenden Code geschrieben:So erstellen Sie einen Ordner im Code hinter der Seite
TreeNode tnode = new TreeNode();
if (TreeView1.Nodes.Count > 0)
{
int found = 0;
for (int i = 0; i < TreeView1.Nodes.Count; i++)
{
if (TreeView1.Nodes[i].Text == TextBox1.Text)
found += 1+i;
}
if (found > 0)
{
tnode.Text = TextBox1.Text + found.ToString();
}
else
{
tnode.Text = TextBox1.Text;
}
}
else
{
tnode.Text = TextBox1.Text;
}
TreeView1.Nodes.Add(tnode);
}
In meinem Code wird der childNode Index nicht erhöht wird; es ist immer 1, wie folgt aus:
Sumit
Sumit(1)
Sumit(1)
Sumit(1)
Amit
Amit(5)
Amit(5)
Amit(5)
im Strukturansichts ich ImageSet="XPFileExplorer"
gesetzt haben. So ist die Ausgabe wie folgt aussehen:
-Root
-Sumit(Parent1)
NewFolder
NewFolder(2)
NewFolder(3)
NewFolder(4)
NewFolder(5)
-Amit(Parent2)
FooFolder
FooFolder(2)
FooFolder(3)
FooFolder(4)
FooFolder(5)
Wenn ich ein Kind Ordner löschen, sagen wir, Newfolder (3) und Newfolder (4) und erstellen die gleichen Ordner unter dem gleichen Sumit (Parent1), sollte der Index sein NeuerOrdner (3), NeuerOrdner (4). Wenn ich unter Sumit einen weiteren NewFolder mit demselben Namen erstelle, sollte der Index NewFolder (6) lauten.
Könnte jemand bitte meinen Code ändern, um diese gewünschte Ausgabe zu erhalten?
dieser Code nicht erwünscht output.If schenkt i Jack geben Sie als Ordnername 6-mal die Serie ist coming.Jack, Jack (1), Klinke (3), Jack (6), Buchse (10), Buchse (15), die absolut falsche Ausgabe ist. – user59637
Ich bearbeitet, um Ihre gefundene Anzahl zu beheben. – SirDemon
Hallo in Ihrem Codierungs-Unterordner-Index beginnt von 1 wo, wie es mit 2 ex.Start hätte sein sollen. Wenn Jack ist Elternordner Michael sind Unterordner es sollte unter Jack Michael, Michael (2), Michael (3), Michael (4) sein – user59637