我的 Default.aspx 页面中有一个树形视图菜单,Parameter.aspx 页面中有一组带有多个控件的面板。Parameters.aspx 被导入到 iframe 中的 Default 中。根据用户选择的树节点,Parameters.aspx 中的某些面板应该是可见的或隐藏的。例如,如果用户选择第一个节点,则面板 4 是隐藏的,但如果用户选择第二个节点,则所有面板都是可见的。(我将它们分开是因为Parameters.aspx 会执行回发,这会导致每次选择treeNode 时都会打开一个新选项卡)。我试过 < iframe id="iframe" runat="server" src="Parameters.aspx?Param1=<%=treeview_reportName%>" class="noba" scrolling="no">
然后用查询字符串调用它,但我得到一个变量不存在错误。当我尝试传递一个会话时,当我从 Parameters.aspx 调用它时它总是返回 null 后面的所有代码都在 C# 中
这是 Default.aspx:
<asp:TreeView ID="treeReport" runat="server" DataSourceID="XmlDataSource1"
ImageSet="Arrows" NodeWrap="True" Width="250px"
LeafNodeStyle-NodeSpacing="2.5px" Font-Names="Arial,Helvetica,sans-serif"
OnSelectedNodeChanged="treeReport_SelectedNodeChanged">
<DataBindings>
<asp:TreeNodeBinding DataMember="ReportTitle" ValueField="Name"
PopulateOnDemand="True" Target="_self"/>
<asp:TreeNodeBinding DataMember="ChildReport" ValueField="Value"
PopulateOnDemand="True" Target="_self"/>
<asp:TreeNodeBinding DataMember="Reports" ValueField="#Name" Target="_self" />
</DataBindings>
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
<LeafNodeStyle NodeSpacing="2px" />
<NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black"
HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" />
<RootNodeStyle Font-Bold="True" Font-Size="8pt"/>
<ParentNodeStyle Font-Bold="True" />
<SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD"
HorizontalPadding="0px" VerticalPadding="0px" />
</asp:TreeView>
树视图代码隐藏是
protected void treeReport_SelectedNodeChanged(object sender, EventArgs e)
{
string treenodeText = treeReport.SelectedNode.Text;
string treeview_reportName = "summary";
switch (treenodeText)
{
case "Overall incident analysis":
treeview_reportName = "overall";
break;
case "All incidents":
treeview_reportName = "summary";
break;
default:
treeview_reportName = "overall";
break;
}
Session["ReportGenerate"] = treeview_reportName;
}
和Parameters.aspx
<asp:Panel ID="pn1" runat="server" Width="610px" Visible="true" CssClass="project-content" >
//Some controls here
</asp:Panel>
<asp:Panel ID="pn2" runat="server" Width="610px" Visible="true" CssClass="project-content" >
//Some controls here
</asp:Panel>
<asp:Panel ID="pn3" runat="server" Width="610px" Visible="true" CssClass="project-content" >
//Some controls here
</asp:Panel>
<asp:Panel ID="pn4" runat="server" Width="610px" Visible="true" CssClass="project-content" >
//Some controls here
</asp:Panel>