У меня есть такое древовидное представление, и я хочу перейти на три разные страницы, используя Response.Redirect
.
→ группы машин (основные)
→ департамент (родитель)
→‹@Mail.ru xyz (ребенок)
protected void TreeView2_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView2.SelectedValue == "Machine Groups")
{
Response.Redirect("~/Gridviewpage.aspx");
}
else
{
switch (e.Node.Depth)
{
case 0:
Response.Redirect("~/Machineupdate.aspx?node=" + TreeView2.SelectedNode.Value);
break;
case 1:
Response.Redirect("~/MachineUpdatechild.aspx?node=" + TreeView3.SelectedNode.Value);
break;
}
}
}
}
теперь, если я поставлю EventArgs
, это указывает на ошибку в e.Node
, что System.EventArgs
не содержит определения для Node
.
Если я заменю EventArgs
на TreeNodeEventArgs
, то эта ошибка исчезнет, но я получу ошибку при компиляции:
Сообщение об ошибке компилятора: CS0123: нет перегрузки для TreeView2_SelectedNodeChanged, совпадает с делегатом System.EventHandler
<asp:TreeView ID="TreeView2" runat="server" OnUnload="TreeViewMain_Unload"
ontreenodepopulate="TreeView2_TreeNodePopulate"
onselectednodechanged="TreeView2_SelectedNodeChanged">
<Nodes>
<asp:TreeNode PopulateOnDemand="True" Text="Machine Groups"
Value="Machine Groups"></asp:TreeNode>
</Nodes>
</asp:TreeView>
Пожалуйста, помогите мне.
Я также хотел бы знать, в чем разница между EventArgs
и TreeNodeEventArgs
.
Спасибо.