PDA

View Full Version : سوال: نساز به کمک در treeview



hadiansari
سه شنبه 22 شهریور 1390, 13:06 عصر
با عرض سلام خدمت دوستان
من یه treeview دارم که می خوام وقتی رو نودش کلیک شد یه query string بسازه و از اون query string برای خوندن اطلاعات از بانک استفاده کنم


if (!(Page.IsPostBack))
{
con.Open();
dt.Load(cmd.ExecuteReader());
con.Close();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode parentnode = new TreeNode(dt.Rows[i][1].ToString());
TreeView1.Nodes.Add(parentnode);
cmd.CommandText = "select stcode,stname from subtopic where mtcode=" + dt.Rows[i][0].ToString();
con.Open();
dtsub.Load(cmd.ExecuteReader(CommandBehavior.Close Connection));
parentnode.SelectAction = TreeNodeSelectAction.Expand;
for (int m = 0; m < dtsub.Rows.Count; m++)
{
TreeNode childnode = new TreeNode();
childnode.Text = dtsub.Rows[m][1].ToString();
childnode.Value = dtsub.Rows[m][0].ToString();
//newNode.Target = "_blank";
parentnode.ChildNodes.Add(childnode);
// Set the PopulateOnDemand property to true so that the child nodes can be
// dynamically populated.
childnode.PopulateOnDemand = true;
childnode.NavigateUrl = "~/default.aspx?id=" + childnode.Value;
// Set additional properties for the node.
childnode.SelectAction = TreeNodeSelectAction.Select;

//newNode.Target = "_blank";
}
dtsub.Clear();
}
dtsub.Clear();
}
con.Close();
این کد منه
مشکل اینه که isnotpostback با هر بار کلیک اجرا می شه که دلیلش این خطه

childnode.NavigateUrl = "~/default.aspx?id=" + childnode.Value;
ولی نمی دونم اگر این خط رو بردارم کجا باید بگم که اگر رو نود کلیک شد query string بسازه .
پیشاپیش ممنون

اوبالیت به بو
چهارشنبه 23 شهریور 1390, 00:53 صبح
سلام

اگر گره های شما مقدار Value اون ها برابر باشه با فیلد ID یا اون فیلدی که کلید هست در جدولتون، اون وقت TreeView شما رویدادی داره به اسم SelectedNodeChange (اگر درست گفته باشم) شما داخل اون رویداد این خط رو بنویس:


Response.Redirect ("~/Default.aspx?ID=" + TreeViewName.SelectedValue.ToString());

hadiansari
چهارشنبه 23 شهریور 1390, 08:53 صبح
تا حد زیادی مشکل حل شد .فقط نمی دونم چرا هنووزم صفحه postback می خوره
احتمالا به خاطر url جدید باشه ،یعنی چون query می دم این اتفاق میفته
با تشکر فراوان
:تشویق::لبخند: