Выбранный узел изменен - PullRequest
       17

Выбранный узел изменен

0 голосов
/ 27 октября 2009

У меня есть такое древовидное представление, и я хочу перейти на три разные страницы, используя 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.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июня 2012

У меня была похожая проблема, у меня она работала до использования TreeNodeEventArgs, но вы можете сойти с рук EventArgs, а затем просто yourTreeView.SelectedNode в зависимости от того, что вы должны сделать ...

0 голосов
/ 27 октября 2009

Таким образом, это похоже на одну из тех проблем API, которые я считаю ... Я думаю, что было бы разумно передавать здесь и более конкретные аргументы событий!

Одна вещь, на которую стоит обратить внимание - вместо того, чтобы пытаться получить выбранный узел из аргументов события, попробуйте выполнить переключение на выбранном узле с TreeView2.SelectedNode.

Похоже, вы уже были на полпути, потому что вы используете это свойство позже. Итак, я не знаю, может ли быть проблема, которую вы уже нашли с этим, но не упоминайте об этом выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...