Javascript 当用户单击TreeView节点时,如何仅加载ASP.NET页面的一部分?

Javascript 当用户单击TreeView节点时,如何仅加载ASP.NET页面的一部分?,javascript,asp.net,ajax,updatepanel,Javascript,Asp.net,Ajax,Updatepanel,我有一个页面,左侧有一个侧边栏,其中有一个树状视图,当您单击其中一个项目时,当前会重新加载整个页面。我只想重新加载右侧,这是一个内容视图,文本和图片取决于您所在的节点。。。其他所有内容都在母版页中。使用这个网站的人的带宽非常有限,所以不重新加载整个页面会更有意义,我认为 单击链接时,如何仅重新加载内容部分?我在看UpdatePanel,但我不确定它会出现在母版页还是内容页中。。。ASP.NET非常新。尝试在内容占位符中使用更新面板,并对更新面板使用异步触发器。这将允许您对部分呈现进行更多控制,并

我有一个页面,左侧有一个侧边栏,其中有一个树状视图,当您单击其中一个项目时,当前会重新加载整个页面。我只想重新加载右侧,这是一个内容视图,文本和图片取决于您所在的节点。。。其他所有内容都在母版页中。使用这个网站的人的带宽非常有限,所以不重新加载整个页面会更有意义,我认为


单击链接时,如何仅重新加载内容部分?我在看UpdatePanel,但我不确定它会出现在母版页还是内容页中。。。ASP.NET非常新。

尝试在内容占位符中使用更新面板,并对更新面板使用异步触发器。这将允许您对部分呈现进行更多控制,并避免在嵌套UpdatePanel和使用javascript框架(如jquery事件绑定)正常工作时可能出现的问题

<asp:TreeView ID="myTreeView" />
内容页

<%-- Put this below the Page directive) It makes the Master Page strongly typed. Use the path to your Master page --%>
<%@ MasterType  virtualPath="~/MasterPage.master"%>

<asp:UpdatePanel runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="MyTreeView" EventName="SelectedNodeChanged" />
    </Triggers>
    <ContentTemplate>
        <%-- Rest of your page content goes here --%>
    </ContentTemplate>
</asp:UpdatePanel>

这将使您的TreeView成为公共财产。默认情况下,控件具有私有或受保护的作用域(不记得是哪个)。然后,它使母版页具有强类型,以便您可以从内容页访问母版页的公共属性、函数和字段。然后,它将TreeView注册为异步回发触发器,以便更新UpdatePanel


注意,我还没有测试这个。我尽量避免使用UpdatePanel,而支持jQuery AJAX。

侧栏标记是在母版页中还是在内容页中?它在母版页中。如何公开树视图?
<%-- Put this below the Page directive) It makes the Master Page strongly typed. Use the path to your Master page --%>
<%@ MasterType  virtualPath="~/MasterPage.master"%>

<asp:UpdatePanel runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="MyTreeView" EventName="SelectedNodeChanged" />
    </Triggers>
    <ContentTemplate>
        <%-- Rest of your page content goes here --%>
    </ContentTemplate>
</asp:UpdatePanel>