代码之家  ›  专栏  ›  技术社区  ›  Ahmed Atia

如何调用TreeView中每个选定节点的客户端和服务器端代码?

  •  0
  • Ahmed Atia  · 技术社区  · 15 年前

    对于TreeView中的每个节点,其navigateURL都被设置为调用加载新页面的客户端函数(第2页)。 执行此操作时,TreeView的SelectedNodeChanged事件不会触发(第1页)。

    [服务器端]

     node.NavigateUrl = "javascript:RefreshWorkspaceHome();";
    

    refreshWorkspaceHome():要么加载新页面,要么调用doPostback为第2页执行一些服务器端代码。 问题是,selectedNodeChanged事件对于第1页没有触发。

    有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Jacob    15 年前

    如果一个节点有一个导航URL,那么当用户单击它时,Web浏览器将导航到指定的URL,从而绕过可能发生的回发。这样做是因为节点在HTML中被简单地呈现为超链接(一个“标记”)。您可以改为从节点中删除navigateURL属性,然后重定向到服务器上的新页面。下面是您的第1页后面的代码的示例:

    // This is the event handler for the TreeView's SelectedNodeChanged event
    protected void onSelectedNodeChanged(object sender, EventArgs e)
    {
        // Do server-side processing first
        // ...
    
        // Now do the redirect to page 2
        Response.Redirect("page2.aspx");
    }