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

Asp.net 如何调用treeview中每个选定节点的客户端和服务器端代码?,asp.net,treeview,Asp.net,Treeview,对于treeview中的每个节点,其NavigateUrl设置为调用客户端函数以加载新页面(第2页)。 执行此操作时,不会触发treeview的SelectedNodeChanged事件(第1页) [服务器端] node.NavigateUrl = "javascript:RefreshWorkspaceHome();"; RefreshWorkspaceHome():加载新页面或调用doPostBack为页面2执行一些服务器端代码。 问题:SelectedNodeChanged事件没有为第

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

[服务器端]

 node.NavigateUrl = "javascript:RefreshWorkspaceHome();";
RefreshWorkspaceHome():加载新页面或调用doPostBack为页面2执行一些服务器端代码。 问题:SelectedNodeChanged事件没有为第1页触发


有什么想法吗?

如果一个节点有一个导航URL,那么当用户单击它时,web浏览器将导航到指定的URL,从而绕过可能发生的回发。之所以这样做,是因为节点在HTML中只是呈现为一个超链接(“a标记”)。您可以改为从节点中删除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");
}