我有一個asp.net網站用戶類型不同,如管理員,註冊用戶。每個用戶類型都有不同的菜單選項。asp.net sitemap改變運行時間
我已經爲所有類型的用戶創建了一個共同的母版頁,但爲不同的用戶類型設計了不同的網站地圖文件。
我想要做的是,根據用戶類型登錄後,網站地圖應在主頁面中更改。
這是我在母版頁加載中嘗試的代碼。它向我顯示錯誤,如
**The SiteMapProvider 'Principal.sitemap' cannot be found.**
我嘗試過使用和不使用.sitemap擴展名。 (我有principal.sitemap和其他地圖)
protected void Page_Load(object sender, EventArgs e)
{
if (Session["usertype"] == null)
{
Response.Redirect("loginpage.aspx");
return;
}
String usertype = Session["usertype"].ToString();
if (usertype == "Principal")
{
SiteMapDataSource1.SiteMapProvider = "Principal.sitemap";
}
else if (usertype == "Administrator")
{
//SiteMapDataSource1.SiteMapProvider = "Administrator";
}
else if (usertype == "Student")
{
SiteMapDataSource1.SiteMapProvider = "Student";
}
foo.DataBind();
}
Here is my Master Page aspx code part.
<asp:SiteMapDataSource ID="SiteMapDataSource1" ShowStartingNode="false" runat="server" />
<ul id="cssmenu1">
<li><a id="A1" href="index.aspx" runat="server">Home</a></li>
<asp:Repeater ID="foo" DataSourceID="SiteMapDataSource1" EnableViewState="false"
runat="server" onitemcommand="foo_ItemCommand">
<ItemTemplate>
<li>
<a href='<%#Eval("url") %>'><%#Eval("Title") %></a>
<ul>
<asp:Repeater ID="bar" DataSource='<%# ((SiteMapNode) Container.DataItem).ChildNodes %>' runat="server">
<ItemTemplate>
<li><a href='<%#Eval("url") %>'><%#Eval("Title") %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
你確定站點地圖的路徑是否正確? – Bobby