i would like to ask for help for this particular problem on telerik treeview control, i've been searching for an answer but i've never found a good one, here's my problem during page load i have to load root folder followed by the child folder and there documents inside(each folder depend on the user which they want to store) now in a few folders defined by the user there was no errror occured during page load, now when the folder goes to 400 and the files inside that folder goes up shall we say 2000 files in defferent format, it will cause an error saying maximum lenght exceeded how am i going to prevent that error..anyway if you could fix this codes much better coz i been looping all the parent folder and the next is the loop of each files on each parent folder, and i cant find any solutions..please i need your help guys if you could codes provide some codes, i've be thankful for that..
protected void Page_Load(object sender, EventArgs e)
{
string rootFolder = "";
string[] parts;
string name = "";
if (cUserInfo.MemberKey == "000001")
{
rootFolder = Server.MapPath(
"../MEMBERS");
parts = rootFolder.Split(
'\\');
name = parts[parts.Length - 1];
name =
"IBOS Directories";
}
else
{
rootFolder = Server.MapPath(
"../MEMBERS/" + cUserInfo.MemberMnemonic.Trim());
parts = rootFolder.Split(
'\\');
name = parts[parts.Length - 1];
}
if (!Directory.Exists(rootFolder))
{
cXML.CopyDirectory(Server.MapPath(
"../MEMBERS/BANK1"), rootFolder, true);
}
RadTreeNode rootNode = new RadTreeNode(rootFolder);
rootNode.ImageUrl =
"../Images/Folder.gif";
rootNode.Category =
"Folder";
rootNode.Expanded =
true;
rootNode.Text = name;
rootNode.NavigateUrl = rootFolder;
RadTreeView1.Nodes.Add(rootNode);
RadTreeView1.MultipleSelect =
true;
Session[
"Rootnode"] = rootNode;
BindTreeToDirectory(rootFolder, rootNode);
}
private void BindTreeToDirectory(string dirPath, RadTreeNode parentNode)
{
string[] dirs = Directory.GetDirectories(dirPath); // this one will loop through out the folder
foreach (string s in dirs)
{
string[] parts = s.Split('\\');
string name = parts[parts.Length - 1];
if (name != "BANK1")
{
RadTreeNode node = new RadTreeNode(name);
node.ImageUrl =
"../Images/Folder.gif";
node.Value = name;
node.Category =
"Folder";
parentNode.Nodes.Add(node);
BindTreeToDirectory(s, node);
}
}
string[] files = Directory.GetFiles(dirPath); //this one will loop throught out the files and load to there respective parent folder
foreach (string fileName in files)
{
string[] parts = fileName.Split('\\');
string name = parts[parts.Length - 1];
//RadTreeNode node = new RadTreeNode(name);
RadTreeNode node = new RadTreeNode(fileName);
FileInfo fi = new FileInfo(fileName);
node.ImageUrl =
"../Images/File.gif";
node.Value =
String.Format("{0}@{1}@{2}", fi.Name, fi.Length, fi.LastWriteTime.ToString());
node.Category =
"File";
node.Text = name;
node.ToolTip =
String.Format("{0}@{1}@{2}", fi.Name, fi.Length, fi.LastWriteTime.ToString());
node.NavigateUrl = fileName;
parentNode.Nodes.Add(node);
}
}
i would be greatful and appreciate if you could held me hand on this problem
thanks to all