我已經集成了ASP.NET和ASP.NET MVC在單個項目中一起工作。這裏我必須使用一些常用的控件,如:MENU控件。這些菜單必須從數據庫動態填充。在jQuery的幫助下,通過填充數據庫中的細節,可以在div中創建菜單嗎?如何爲ASP.NET和ASP.NET MVC創建通用菜單控件?
如何創建ASP.NET和ASP.NET MVC共同菜單控制?任何建議,將不勝感激。
我已經集成了ASP.NET和ASP.NET MVC在單個項目中一起工作。這裏我必須使用一些常用的控件,如:MENU控件。這些菜單必須從數據庫動態填充。在jQuery的幫助下,通過填充數據庫中的細節,可以在div中創建菜單嗎?如何爲ASP.NET和ASP.NET MVC創建通用菜單控件?
如何創建ASP.NET和ASP.NET MVC共同菜單控制?任何建議,將不勝感激。
你看着TreeView控件與菜單?從服務器
最近我已經轉移到ASP.NET MVC和我也有興趣,如何創建菜單。我發現只有一個合適的幫助(http://www.asp.net/mvc/tutorials/providing-website-navigation-with-sitemaps-cs)。本教程使用Web.sitemap創建菜單。 但是,如果您嘗試使用此幫助創建菜單,則會看到它不適用於「更多級別」菜單。所以我修改了這段代碼並創建了這個。
using System.Text;
using System.Web;
using System.Web.Mvc;
public static class MenuHelper
{
public static MvcHtmlString Menu(this HtmlHelper helper)
{
var sb = new StringBuilder();
sb.Append("<div id='menu'><ul>");
var topLevelNodes = SiteMap.RootNode.ChildNodes;
foreach (SiteMapNode node in topLevelNodes)
{
sb.AppendLine(SiteMap.CurrentNode == node ? "<li class='selectedMenuItem'>" : "<li>");
sb.AppendFormat("<a href='{0}'>{1}</a>", node.Url, helper.Encode(node.Title));
BuildMenu(sb, node);
sb.AppendLine("</li>");
}
sb.AppendLine("</ul></div>");
return MvcHtmlString.Create(sb.ToString());
}
private static StringBuilder BuildMenu(StringBuilder sb, SiteMapNode node)
{
if (node.ChildNodes.Count != 0)
{
sb.Append("<ul>");
foreach (SiteMapNode childNode in node.ChildNodes)
{
sb.AppendLine(SiteMap.CurrentNode == childNode ? "<li class='selectedMenuItem'>" : "<li>");
sb.AppendFormat("<a href='{0}'>{1}</a>", childNode.Url, childNode.Title);
BuildMenu(sb, childNode);
sb.AppendLine("</li>");
}
sb.AppendLine("</ul>");
}
return sb;
}
}
在查看你只寫@Html.Menu()
。 請記住創建Web.sitemap並插入頁面。希望它有幫助!
我可以使用樹狀視圖在ASP.NET和ASP.NET MVC的菜單嗎?如何將數據庫中的數據綁定到此菜單? – nimi 2011-04-04 15:47:01