Monday, March 26, 2012

newbie: problems with SiteMapProviders

hey

asp.net 2.0

My problem is that no matter what SiteMapProvider I specify in the code, it
always uses defaultProvider SiteMapProvider. In other words if I make these
changes to the SiteMapDataSource1:
<siteMap defaultProvider="Anonymous">
The menu which is based on this SiteMapProvider get menu items from the
Anoymous SiteMapProvider... But SiteMapDataSource1.SiteMapProvider is set to
"LoggedIn"

<siteMap defaultProvider="LoggedIn">
<providers>
<add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
siteMapFile="LoggedIn.sitemap"/>
<add name="Anonymous" type="System.Web.XmlSiteMapProvider"
siteMapFile="Anonymous.sitemap"/>
</providers>
</siteMap>

<LoggedInTemplate>
<asp:Menu ID="mnuHeader" runat="server" BackColor="#F7F6F3"
DataSourceID="SiteMapDataSource1"
DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em"
ForeColor="#7C6F57"
MaximumDynamicDisplayLevels="0" Orientation="Horizontal"
StaticDisplayLevels="2"
StaticSubMenuIndent="10px" Style="z-index: 100; left: 0px; position:
absolute;
top: 0px" OnMenuItemClick="mnuHeader_MenuItemClick" Width="900px">
<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px"
/>
<DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
<DynamicMenuStyle BackColor="#F7F6F3" />
<StaticSelectedStyle BackColor="#5D7B9D" />
<DynamicSelectedStyle BackColor="#5D7B9D" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px"
/>
<StaticHoverStyle BackColor="#7C6F57" ForeColor="White" />
<DataBindings>
<asp:MenuItemBinding DataMember="SiteMapNode"
NavigateUrlField="Url" TextField="Title" />
</DataBindings>
</asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
SiteMapProvider="LoggedIn" />
</LoggedInTemplate>

I even tryed this example:
http://msdn2.microsoft.com/en-us/li...426(d=ide).aspx :
<siteMap defaultProvider="XmlSiteMapProvider">
<providers>
<add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
siteMapFile="LoggedIn.sitemap"/>
<add name="Anonymous" type="System.Web.XmlSiteMapProvider"
siteMapFile="Anonymous.sitemap"/>
</providers>
</siteMap>

But then I get this error:
Parser Error Message: The provider 'XmlSiteMapProvider' specified for the
defaultProvider does not exist in the providers collection.

If the SiteMapDataSource1.SiteMapProvider is set to "LoggedIn", then I want
it to use the "LoggedIn" SiteMapProvider, not use what is specified as the
defaultProvider.

Any suggestions on how to solve this are very welcome

Jeff"Jeff" <it_consultant1@.hotmail.com.NOSPAMwrote in message
news:OQOfZqxrGHA.4252@.TK2MSFTNGP02.phx.gbl...

Quote:

Originally Posted by

hey
>
asp.net 2.0
>
My problem is that no matter what SiteMapProvider I specify in the code,
it always uses defaultProvider SiteMapProvider. In other words if I make
these changes to the SiteMapDataSource1:
<siteMap defaultProvider="Anonymous">
The menu which is based on this SiteMapProvider get menu items from the
Anoymous SiteMapProvider... But SiteMapDataSource1.SiteMapProvider is set
to "LoggedIn"
>
<siteMap defaultProvider="LoggedIn">
<providers>
<add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
siteMapFile="LoggedIn.sitemap"/>
<add name="Anonymous" type="System.Web.XmlSiteMapProvider"
siteMapFile="Anonymous.sitemap"/>
</providers>
</siteMap>
>
<LoggedInTemplate>
<asp:Menu ID="mnuHeader" runat="server" BackColor="#F7F6F3"
DataSourceID="SiteMapDataSource1"
DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em"
ForeColor="#7C6F57"
MaximumDynamicDisplayLevels="0" Orientation="Horizontal"
StaticDisplayLevels="2"
StaticSubMenuIndent="10px" Style="z-index: 100; left: 0px;
position: absolute;
top: 0px" OnMenuItemClick="mnuHeader_MenuItemClick" Width="900px">
<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px"
/>
<DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
<DynamicMenuStyle BackColor="#F7F6F3" />
<StaticSelectedStyle BackColor="#5D7B9D" />
<DynamicSelectedStyle BackColor="#5D7B9D" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px"
/>
<StaticHoverStyle BackColor="#7C6F57" ForeColor="White" />
<DataBindings>
<asp:MenuItemBinding DataMember="SiteMapNode"
NavigateUrlField="Url" TextField="Title" />
</DataBindings>
</asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
SiteMapProvider="LoggedIn" />
</LoggedInTemplate>
>
I even tryed this example:
http://msdn2.microsoft.com/en-us/li...426(d=ide).aspx :
<siteMap defaultProvider="XmlSiteMapProvider">
<providers>
<add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
siteMapFile="LoggedIn.sitemap"/>
<add name="Anonymous" type="System.Web.XmlSiteMapProvider"
siteMapFile="Anonymous.sitemap"/>
</providers>
</siteMap>
>
But then I get this error:
Parser Error Message: The provider 'XmlSiteMapProvider' specified for the
defaultProvider does not exist in the providers collection.
>
If the SiteMapDataSource1.SiteMapProvider is set to "LoggedIn", then I
want it to use the "LoggedIn" SiteMapProvider, not use what is specified
as the defaultProvider.
>
Any suggestions on how to solve this are very welcome
>
Jeff
>
>
>
>


Would you care to share the solution, Jeff, so others can benefit ?

Juan T. Llibre, asp.net MVP
aspnetfaq.com : http://www.aspnetfaq.com/
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en espaol : http://asp.net.do/foros/
===================================
"Jeff" <it_consultant1@.hotmail.com.NOSPAMwrote in message
news:e0Dsaj3rGHA.356@.TK2MSFTNGP05.phx.gbl...

Quote:

Originally Posted by

>
"Jeff" <it_consultant1@.hotmail.com.NOSPAMwrote in message
news:OQOfZqxrGHA.4252@.TK2MSFTNGP02.phx.gbl...

Quote:

Originally Posted by

>hey
>>
>asp.net 2.0
>>
>My problem is that no matter what SiteMapProvider I specify in the code, it always uses
>defaultProvider SiteMapProvider. In other words if I make these changes to the
>SiteMapDataSource1:
><siteMap defaultProvider="Anonymous">
>The menu which is based on this SiteMapProvider get menu items from the Anoymous
>SiteMapProvider... But SiteMapDataSource1.SiteMapProvider is set to "LoggedIn"
>>
><siteMap defaultProvider="LoggedIn">
> <providers>
> <add name="LoggedIn" type="System.Web.XmlSiteMapProvider" siteMapFile="LoggedIn.sitemap"/>
> <add name="Anonymous" type="System.Web.XmlSiteMapProvider"
>siteMapFile="Anonymous.sitemap"/>
> </providers>
></siteMap>
>>
><LoggedInTemplate>
> <asp:Menu ID="mnuHeader" runat="server" BackColor="#F7F6F3" DataSourceID="SiteMapDataSource1"
> DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#7C6F57"
> MaximumDynamicDisplayLevels="0" Orientation="Horizontal" StaticDisplayLevels="2"
> StaticSubMenuIndent="10px" Style="z-index: 100; left: 0px; position: absolute;
> top: 0px" OnMenuItemClick="mnuHeader_MenuItemClick" Width="900px">
> <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
> <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
> <DynamicMenuStyle BackColor="#F7F6F3" />
> <StaticSelectedStyle BackColor="#5D7B9D" />
> <DynamicSelectedStyle BackColor="#5D7B9D" />
> <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
> <StaticHoverStyle BackColor="#7C6F57" ForeColor="White" />
> <DataBindings>
> <asp:MenuItemBinding DataMember="SiteMapNode" NavigateUrlField="Url" TextField="Title"
>/>
> </DataBindings>
> </asp:Menu>
> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" SiteMapProvider="LoggedIn" />
></LoggedInTemplate>
>>
>I even tryed this example: http://msdn2.microsoft.com/en-us/li...426(d=ide).aspx :
><siteMap defaultProvider="XmlSiteMapProvider">
> <providers>
> <add name="LoggedIn" type="System.Web.XmlSiteMapProvider" siteMapFile="LoggedIn.sitemap"/>
> <add name="Anonymous" type="System.Web.XmlSiteMapProvider"
>siteMapFile="Anonymous.sitemap"/>
> </providers>
></siteMap>
>>
>But then I get this error:
>Parser Error Message: The provider 'XmlSiteMapProvider' specified for the defaultProvider does
>not exist in the providers collection.
>>
>If the SiteMapDataSource1.SiteMapProvider is set to "LoggedIn", then I want it to use the
>"LoggedIn" SiteMapProvider, not use what is specified as the defaultProvider.
>>
>Any suggestions on how to solve this are very welcome
>>
>Jeff
>>
>>
>>
>>


>
>


It was my own mistake, doing modification to the wrong master page. I have 3
master pages in my project: Frontpage.master, MasterPage.master and
ContentMaster.master. MasterPage and ContentMaster are very similar but
MasterPage isn't used in the project. So here I accidently did modifications
to MasterPage and wondered why I didn't see the changes when I tested the
web portal.... But after a while I discovered that it was the ContentMaster
I used...

I also have to add that I made some modifications to the SiteMapProvider
settings in web.config:
<siteMap defaultProvider="AspNetXmlSiteMapProvider">
<providers>
<add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
siteMapFile="LoggedIn.sitemap"/>
<add name="Anonymous" type="System.Web.XmlSiteMapProvider"
siteMapFile="Anonymous.sitemap"/>
</providers>
</siteMap>

Previously I used "LoggedIn" or "Anonymous" as defaultProvider. Then I read
that defaultProvider had to be something else if it was going to work. So I
tryed "AspLoggedIn", because I've seen in a example where someone used
"AspNetXmlSiteMapProvider".. But that didn't work... But then I tryed using
"AspNetXmlSiteMapProvider" and it works now

"Juan T. Llibre" <nomailreplies@.nowhere.comwrote in message
news:%23sq8g%23$rGHA.2416@.TK2MSFTNGP03.phx.gbl...

Quote:

Originally Posted by

Would you care to share the solution, Jeff, so others can benefit ?
>
>
>
Juan T. Llibre, asp.net MVP
aspnetfaq.com : http://www.aspnetfaq.com/
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en espaol : http://asp.net.do/foros/
===================================
"Jeff" <it_consultant1@.hotmail.com.NOSPAMwrote in message
news:e0Dsaj3rGHA.356@.TK2MSFTNGP05.phx.gbl...

Quote:

Originally Posted by

>>
>"Jeff" <it_consultant1@.hotmail.com.NOSPAMwrote in message
>news:OQOfZqxrGHA.4252@.TK2MSFTNGP02.phx.gbl...

Quote:

Originally Posted by

>>hey
>>>
>>asp.net 2.0
>>>
>>My problem is that no matter what SiteMapProvider I specify in the code,
>>it always uses defaultProvider SiteMapProvider. In other words if I make
>>these changes to the SiteMapDataSource1:
>><siteMap defaultProvider="Anonymous">
>>The menu which is based on this SiteMapProvider get menu items from the
>>Anoymous SiteMapProvider... But SiteMapDataSource1.SiteMapProvider is
>>set to "LoggedIn"
>>>
>><siteMap defaultProvider="LoggedIn">
>> <providers>
>> <add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
>>siteMapFile="LoggedIn.sitemap"/>
>> <add name="Anonymous" type="System.Web.XmlSiteMapProvider"
>>siteMapFile="Anonymous.sitemap"/>
>> </providers>
>></siteMap>
>>>
>><LoggedInTemplate>
>> <asp:Menu ID="mnuHeader" runat="server" BackColor="#F7F6F3"
>>DataSourceID="SiteMapDataSource1"
>> DynamicHorizontalOffset="2" Font-Names="Verdana"
>>Font-Size="0.8em" ForeColor="#7C6F57"
>> MaximumDynamicDisplayLevels="0" Orientation="Horizontal"
>>StaticDisplayLevels="2"
>> StaticSubMenuIndent="10px" Style="z-index: 100; left: 0px;
>>position: absolute;
>> top: 0px" OnMenuItemClick="mnuHeader_MenuItemClick"
>>Width="900px">
>> <StaticMenuItemStyle HorizontalPadding="5px"
>>VerticalPadding="2px" />
>> <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
>> <DynamicMenuStyle BackColor="#F7F6F3" />
>> <StaticSelectedStyle BackColor="#5D7B9D" />
>> <DynamicSelectedStyle BackColor="#5D7B9D" />
>> <DynamicMenuItemStyle HorizontalPadding="5px"
>>VerticalPadding="2px" />
>> <StaticHoverStyle BackColor="#7C6F57" ForeColor="White" />
>> <DataBindings>
>> <asp:MenuItemBinding DataMember="SiteMapNode"
>>NavigateUrlField="Url" TextField="Title" />
>> </DataBindings>
>> </asp:Menu>
>> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
>>SiteMapProvider="LoggedIn" />
>></LoggedInTemplate>
>>>
>>I even tryed this example:
>>http://msdn2.microsoft.com/en-us/li...426(d=ide).aspx :
>><siteMap defaultProvider="XmlSiteMapProvider">
>> <providers>
>> <add name="LoggedIn" type="System.Web.XmlSiteMapProvider"
>>siteMapFile="LoggedIn.sitemap"/>
>> <add name="Anonymous" type="System.Web.XmlSiteMapProvider"
>>siteMapFile="Anonymous.sitemap"/>
>> </providers>
>></siteMap>
>>>
>>But then I get this error:
>>Parser Error Message: The provider 'XmlSiteMapProvider' specified for
>>the defaultProvider does not exist in the providers collection.
>>>
>>If the SiteMapDataSource1.SiteMapProvider is set to "LoggedIn", then I
>>want it to use the "LoggedIn" SiteMapProvider, not use what is specified
>>as the defaultProvider.
>>>
>>Any suggestions on how to solve this are very welcome
>>>
>>Jeff
>>>
>>>
>>>
>>>


>>
>>


>
>

0 comments:

Post a Comment