TreeView på MasterPage
Hej,Jeg har på min MasterPage et TreeView (som er en menu). Jeg vil have det sådan, at hver gang, jeg klikker på en bestemt node i TreeView, skal den opdatere ContentPlaceHolder med id'et fra den valgte node. Det der ligger i ContentPlaceHolder er den samme side (Default2.aspx), som udfra id'et henter indholdet i en database.
Jeg kan bare ikke få det til at virke. Hver evig eneste gang, henter den default siden. Det er som om den ikke viser at SelectedNode.Value har et id :-(
Håber der er nogen, der kan fortælle mig hvor det fejler henne i min kode.
Default2.aspx.cs (her jeg henter SelectedNode.Value):
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
//04-07-2008 AS
//Test if session has a pageId - if no, frontpage loads
TreeView MenuTree = (TreeView)Master.FindControl("MenuTree");
int pageId = 0;
if (MenuTree.SelectedNode != null)
{
pageId = Convert.ToInt32(MenuTree.SelectedNode.Value);
}
else
{
pageId = PageProd.GetPageIdForFrontPage();
}
try
{
Page page = new Page();
if (page.ProdGetPageSpecific(pageId) == Status.Success)
{
//lblMenuId.Text = page.fEditPageFId;
lblEditContent.Text = page.fProdPageBody;
}
}
catch
{ }
}
MPHead3.master (Her jeg har min TreeView):
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server">
</asp:ScriptManager>
<div>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="text-align: left; vertical-align: top">
<img src="Images/logo3.gif" alt="" />
</td>
</tr>
<tr>
<td style="height: 20px"></td>
</tr>
<tr>
<td style="text-align: left; vertical-align: top">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="text-align: left; vertical-align: top; width: 200px">
<asp:TreeView ID="MenuTree" EnableClientScript="False" runat="server"
ExpandDepth="15" ShowExpandCollapse="False"
ontreenodeexpanded="MenuTree_TreeNodeExpanded"
ontreenodepopulate="MenuTree_TreeNodePopulate" PathSeparator="/">
<NodeStyle CssClass="menulink" />
<SelectedNodeStyle CssClass="menulink" />
</asp:TreeView>
<br />
Menu id: <asp:Label ID="lblMenuId" runat="server" Visible="True" Text="1"></asp:Label>
</td>
<td style="text-align: left; vertical-align: top; width: 200px">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
MPHead3.master.cs (Koden til MasterPage):
protected void MenuTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
HidePanels();
HideMessages();
//16-06-2008 AS
//Ved klik på undermenuer expand submenuer
int key_id = Convert.ToInt32(e.Node.Value);
try
{
lblMenuId.Text = key_id.ToString();
if (e.Node.Depth == 0)
{
TreeView t = (TreeView)sender;
for (int i = 0; i < t.Nodes.Count; i++)
{
if (t.Nodes[i] != e.Node)
{
t.Nodes[i].CollapseAll();
}
}
}
}
catch
{ }
//23-06-2008 AS
//Henter valgte side frem
try
{
Page page = new Page();
if (page.ProdGetPageSpecific(key_id) == Status.Success)
{
lblMenuId.Text = page.fEditPageFId;
Session["pageId"] = page.fEditPageFId;
//lblEditContent.Text = page.fProdPageBody;
}
}
catch
{ }
}
mvh
simsen