母版页控件正在重置

问题描述 投票:0回答:1

我正在asp.net应用程序中使用母版页和子页。我在主页上有一个下拉列表和树视图(使用sitemapdatasource)。当我单击任何树视图节点时,页面将重定向到子页面。

问题是,如果在下拉列表dwn列表中选择任何值,然后单击treeview节点,则所选值应分配给子页面的ext框。这是行不通的。主page_load()在子page_load()之后执行,是因为这个吗?

c# asp.net master-pages
1个回答
2
投票

由于您不能直接查看母版页,所以我假设您有两个使用通用母版页的页面。我还假设此主页显示一个下拉列表和一个树状视图站点地图。

基于此,我认为最主要的是您的树形视图正在呈现普通的旧html链接(即<a href='http://stackoverflow.com'>...)。单击这些后,浏览器将对第二个子页面执行获取请求。默认情况下,第一个子页面的数据不会传递到第二个子页面。

有多种更改此行为的方法。首先,应将AutoPostBack属性设置为true,并在下拉列表上设置handle SelectedIndexChanged事件。在这种情况下,您可以保存下拉菜单的值,以便以后可以恢复。

保存此值的最简单方法可能是将其放入会话中。

Session["myvar"] = dropdown.SelectedIndex;

您的母版页可以在子页加载时通过执行以下操作来恢复此值:

if (!IsPostBack && Session["myvar"] != null) 
    dropdown.SelectedIndex = (int)Session["myvar"];

另一个选择是将值添加到树视图中每个URL的查询字符串中。

© www.soinside.com 2019 - 2024. All rights reserved.