对于treeview中的每个节点,其NavigateUrl设置为调用加载新页面的客户端功能(第2页)。 执行此操作时,树视图的SelectedNodeChanged事件不会触发(第1页)。
[服务器端]
node.NavigateUrl = "javascript:RefreshWorkspaceHome();";
RefreshWorkspaceHome():加载新页面或调用doPostBack来执行第2页的某些服务器端代码。 现在问题是第1页没有触发SelectedNodeChanged事件。
有什么想法吗?
答案 0 :(得分:0)
如果某个节点具有导航URL,则当用户单击该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");
}