adineh67
سه شنبه 06 دی 1390, 21:57 عصر
سلام
من یه treeview دارم که نودهاش بصورت داینامیک ایجاد می شه در زمان اجرا با کلیک روی یک نود فرزندهای اون نودو می سازه و اگه دوباره روی همون نود کلیک کنم این روند ادامه پیدا می کنه می دونم که واسه جلوگیری از اینکار باید از!ispostback استفاده کنم ولی نمی دونم چطوری باید اینکارو انجام بدم
لطفا با توجه به کدی که نوشتم راهنماییم کنین ممنون از همگی
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
int d=TreeView1.SelectedNode.Depth;
switch (d)
{
case 0:
foreach (var item in cnrl.selectdateymarshiv(TreeView1.SelectedNode.Val ue))
{
TreeNode node = new TreeNode();
string month1 = item.ToString();
if (month1.Length == 1)
{
month1 = "0" + month1;
}
node.Text = item.ToString();
node.Value = item.ToString();
node.SelectAction = TreeNodeSelectAction.SelectExpand;
TreeView1.SelectedNode.ChildNodes.Add(node);
}
break;
case 1:
string str=TreeView1.SelectedNode.Value;
int s=str.LastIndexOf('/');
string strm=str.Substring(s+1);
string stry=str.Substring(0,4);
foreach (var item in cnrl.selectdateymdarshiv(stry,strm))
{
TreeNode node = new TreeNode();
string month = item.Month.ToString();
if (month.Length == 1)
{
month = "0" + month;
}
string day = item.Day.ToString();
if (day.Length == 1)
{
day = "0" + day;
}
node.Text = item.Year.ToString() + "/" + month +"/"+ day;
node.Value = item.Year.ToString() + "/" + month +"/"+ day;
node.SelectAction = TreeNodeSelectAction.SelectExpand;
TreeView1.SelectedNode.ChildNodes.Add(node);
}
break;
case 2:
string str2=TreeView1.SelectedNode.Value;
str2=str2.Replace("/", "-");
string id = null, namechar = null;
cnrl.selectdateidnamearshiv(str2, out namechar, out id);
Label3.Visible = true;
Image1.Visible = true;
TextBox22.Visible = true;
LinkButton1.Visible = true;
Label3.Text = namechar;
if (id != null)
Image1.ImageUrl = "~/CharacterWeek/Img/" + id +".jpg";
else
Image1.ImageUrl ="~/images/5.jpg";
Image1.ImageAlign = ImageAlign.Middle;
try
{
System.IO.StreamReader strart = new System.IO.StreamReader(MapPath("~/CharacterWeek/Txt/") + id + ".txt");
TextBox22.Text = strart.ReadToEnd();
strart.Close();
strart.Dispose();
}
catch
{
}
break;
}
}
من یه treeview دارم که نودهاش بصورت داینامیک ایجاد می شه در زمان اجرا با کلیک روی یک نود فرزندهای اون نودو می سازه و اگه دوباره روی همون نود کلیک کنم این روند ادامه پیدا می کنه می دونم که واسه جلوگیری از اینکار باید از!ispostback استفاده کنم ولی نمی دونم چطوری باید اینکارو انجام بدم
لطفا با توجه به کدی که نوشتم راهنماییم کنین ممنون از همگی
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
int d=TreeView1.SelectedNode.Depth;
switch (d)
{
case 0:
foreach (var item in cnrl.selectdateymarshiv(TreeView1.SelectedNode.Val ue))
{
TreeNode node = new TreeNode();
string month1 = item.ToString();
if (month1.Length == 1)
{
month1 = "0" + month1;
}
node.Text = item.ToString();
node.Value = item.ToString();
node.SelectAction = TreeNodeSelectAction.SelectExpand;
TreeView1.SelectedNode.ChildNodes.Add(node);
}
break;
case 1:
string str=TreeView1.SelectedNode.Value;
int s=str.LastIndexOf('/');
string strm=str.Substring(s+1);
string stry=str.Substring(0,4);
foreach (var item in cnrl.selectdateymdarshiv(stry,strm))
{
TreeNode node = new TreeNode();
string month = item.Month.ToString();
if (month.Length == 1)
{
month = "0" + month;
}
string day = item.Day.ToString();
if (day.Length == 1)
{
day = "0" + day;
}
node.Text = item.Year.ToString() + "/" + month +"/"+ day;
node.Value = item.Year.ToString() + "/" + month +"/"+ day;
node.SelectAction = TreeNodeSelectAction.SelectExpand;
TreeView1.SelectedNode.ChildNodes.Add(node);
}
break;
case 2:
string str2=TreeView1.SelectedNode.Value;
str2=str2.Replace("/", "-");
string id = null, namechar = null;
cnrl.selectdateidnamearshiv(str2, out namechar, out id);
Label3.Visible = true;
Image1.Visible = true;
TextBox22.Visible = true;
LinkButton1.Visible = true;
Label3.Text = namechar;
if (id != null)
Image1.ImageUrl = "~/CharacterWeek/Img/" + id +".jpg";
else
Image1.ImageUrl ="~/images/5.jpg";
Image1.ImageAlign = ImageAlign.Middle;
try
{
System.IO.StreamReader strart = new System.IO.StreamReader(MapPath("~/CharacterWeek/Txt/") + id + ".txt");
TextBox22.Text = strart.ReadToEnd();
strart.Close();
strart.Dispose();
}
catch
{
}
break;
}
}