Menu tag van asp veranderen

Status
Niet open voor verdere reacties.

Myclos81

Gebruiker
Lid geworden
17 nov 2007
Berichten
157
Hallo,

ik heb een simpel vraagje maar moeilijk uit te voeren (volgens mij toch). Ik heb volgende code in ASP voor mijn menu:

<asp:Menu ID="Menu1" runat="server" BackColor="#FFFBD6"
DataSourceID="XmlDataSource1" DynamicHorizontalOffset="2" Font-Names="Verdana"
Font-Size="0.8em" ForeColor="#990000" StaticSubMenuIndent="10px">
<StaticSelectedStyle BackColor="#FFCC66" />
<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<DynamicHoverStyle BackColor="#990000" ForeColor="White" />
<DynamicMenuStyle BackColor="#FFFBD6" />
<DynamicItemTemplate>
<%# Eval("Text") %>
</DynamicItemTemplate>
<DynamicSelectedStyle BackColor="#FFCC66" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<DataBindings>
<asp:MenuItemBinding DataMember="Menu" TextField="text" ValueField="text" />
<asp:MenuItemBinding DataMember="SubMenu" NavigateUrlField="url"
TextField="text" ValueField="text" />
<asp:MenuItemBinding DataMember="SubMenu" NavigateUrlField="url"
TextField="text" ValueField="text" />
</DataBindings>
<StaticHoverStyle BackColor="#990000" ForeColor="White" />
</asp:Menu>



Ik zou de tag DataSourceID="XmlDataSource1" willen veranderen, nl "XmlDataSource1" willen veranderen naar een variabele die ik doorgeef vanuit C#. Iemand enig idee hoe dit moet ? Vind daarover weinig op internet. Ofwel is het te evident ofwel is het überhaupt niet mogelijk ?

Mvg,
M81
 
Hallo,

ik heb een simpel vraagje maar moeilijk uit te voeren (volgens mij toch). Ik heb volgende code in ASP voor mijn menu:

<asp:Menu ID="Menu1" runat="server" BackColor="#FFFBD6"
DataSourceID="XmlDataSource1" DynamicHorizontalOffset="2" Font-Names="Verdana"
Font-Size="0.8em" ForeColor="#990000" StaticSubMenuIndent="10px">
<StaticSelectedStyle BackColor="#FFCC66" />
<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<DynamicHoverStyle BackColor="#990000" ForeColor="White" />
<DynamicMenuStyle BackColor="#FFFBD6" />
<DynamicItemTemplate>
<%# Eval("Text") %>
</DynamicItemTemplate>
<DynamicSelectedStyle BackColor="#FFCC66" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<DataBindings>
<asp:MenuItemBinding DataMember="Menu" TextField="text" ValueField="text" />
<asp:MenuItemBinding DataMember="SubMenu" NavigateUrlField="url"
TextField="text" ValueField="text" />
<asp:MenuItemBinding DataMember="SubMenu" NavigateUrlField="url"
TextField="text" ValueField="text" />
</DataBindings>
<StaticHoverStyle BackColor="#990000" ForeColor="White" />
</asp:Menu>



Ik zou de tag DataSourceID="XmlDataSource1" willen veranderen, nl "XmlDataSource1" willen veranderen naar een variabele die ik doorgeef vanuit C#. Iemand enig idee hoe dit moet ? Vind daarover weinig op internet. Ofwel is het te evident ofwel is het überhaupt niet mogelijk ?

Mvg,
M81


<body id = "body" runat ="server">
<asp:XmlDataSource ID="XmlDataSource1" runat="server"></asp:XmlDataSource>
</body>

<script runat= "server">
private void Page_Load()
{
lblAfdeling.Text = "lalala";
System.Web.UI.HtmlControls.HtmlGenericControl XmlDataSource1 = new HtmlGenericControl();
XmlDataSource1.Attributes.Add("[DataFile]", "[~/XML/IT.XML]");
}
</script>

Dit heb ik nu maar nu geeft hij fout: "object not set to a reference"
 
Menu tag van asp veranderen in Page_Load

Hoi Myclos81,
Je kan dit doen in Page_Load

protected void Page_Load(object sender, EventArgs e)
{
if (a==a) { Menu1.DataSourceID="XmlDataSource1"; }
else { Menu1.DataSourceID="XmlDataSource2"; }
Menu1.DataBind();
}

maar dit is ook mogelijk:

protected void Page_Load(object sender, EventArgs e)
{
LoadMenu( 2 );
}
private void LoadMenu(int MenuID)
{
switch(MenuID)
{
case 1:
XmlDataSource1.DataFile = Server.MapPath("menu_1.xml");
break;
case 2:
XmlDataSource1.DataFile = Server.MapPath("menu_2.xml");
break;
}

Menu1.DataBind();
}

groet,
novi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan