我通常只是用一箇中繼器創建一個數據表,並在代碼隱藏中包含所有這些html。我還沒找到動態添加子菜單的簡單方法。有沒有人有辦法做得更好?ASP.NET 3.5 C#:創建和顯示子菜單動態菜單的最佳方式
0
A
回答
1
呈現爲列表的嵌套列表(<li></li>
中的元素在<ul></ul>
中)。使用jQuery菜單插件轉換爲動態菜單。
0
通常情況下,我會爲菜單使用服務器控件,這會爲子菜單添加自身的副本,使其動態生成。但是,考慮緩存它,因爲它不會很快生成。
0
您可以創建一個xslt文件並動態地從數據庫中獲取記錄。
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>DataBase Driven Menu</title>
</head>
<body>
<form id="form1" runat="server">
<div id="myslidemenu" class="jqueryslidemenu">
<asp:Menu ID="Menu1" runat="server" StaticEnableDefaultPopOutImage="False"
Orientation="Horizontal" StaticSubMenuIndent="10px" BackColor="#FFFBD6"
DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em"
ForeColor="#990000">
<DataBindings>
<asp:MenuItemBinding DataMember="MenuItem" NavigateUrlField="NavigateUrl" TextField="Text"
ToolTipField="ToolTip" />
</DataBindings>
<DynamicHoverStyle BackColor="#990000" ForeColor="White" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<DynamicMenuStyle BackColor="#FFFBD6" />
<DynamicSelectedStyle BackColor="#FFCC66" />
<StaticHoverStyle BackColor="#990000" ForeColor="White" />
<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<StaticSelectedStyle BackColor="#FFCC66" />
</asp:Menu>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = new DataSet();
XmlDataSource xmlDataSource = new XmlDataSource();
xmlDataSource.ID = "xmlDataSource";
xmlDataSource.EnableCaching = false;
string connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=G:\Admin\WebSite28\App_Data\Database.mdf;Integrated Security=True;User Instance=True";
using (SqlConnection conn = new SqlConnection(connStr))
{
string sql = "Select ID, Text,NavigateUrl,ParentID from Menu";
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds);
da.Dispose();
}
ds.DataSetName = "Menus";
ds.Tables[0].TableName = "Menu";
DataRelation relation = new DataRelation("ParentChild",
ds.Tables["Menu"].Columns["ID"],
ds.Tables["Menu"].Columns["ParentID"],
true);
relation.Nested = true;
ds.Relations.Add(relation);
xmlDataSource.Data = ds.GetXml();
//Reformat the xmldatasource from the dataset to fit menu into xml format
xmlDataSource.TransformFile = Server.MapPath("~/TransformXSLT.xsl");
//assigning the path to start read all MenuItem under MenuItems
xmlDataSource.XPath = "MenuItems/MenuItem";
//Finally, bind the source to the Menu1 control
Menu1.DataSource = xmlDataSource;
Menu1.DataBind();
}
}
}
相關問題
- 1. 在asp.net中不顯示菜單控件的動態子菜單
- 2. 在ASP.NET網站中創建菜單的最佳方式
- 3. 查找和創建子菜單動態
- 4. 從asp數據庫動態創建菜單和子菜單.net
- 5. HTML菜單和子菜單顯示
- 6. 創建響應菜單和子菜單
- 7. 創建菜單,子菜單和操作
- 8. Asp.net菜單控制 - 動態菜單顯示在頁面加載
- 9. 創建一個下拉菜單並顯示主菜單下的子菜單
- 10. 顯示子菜單 - C#
- 11. 動態創建Java Swing子菜單
- 12. Django動態顯示菜單
- 13. codeigniter動態菜單創建
- 14. 動態菜單創建IoC
- 15. 視圖模型和動態菜單的最佳實踐 - ASP.NET MVC
- 16. ASP.NET動態菜單
- 17. CSS菜單的子菜單未顯示
- 18. Django的顯示菜單/子菜單
- 19. 創建在C#動態菜單與WPF
- 20. 標籤菜單中的碎片形式菜單:最佳方法
- 21. 在Laravel 5.1中顯示菜單的最佳方式是什麼?
- 22. 顯示下拉菜單的最佳方式是什麼?
- 23. 在angularjs中顯示動態選項菜單的最佳(最有效)方法
- 24. C#創建ContextMenuStrip子菜單和項動態
- 25. 以編程方式爲從XML創建的現有菜單創建子菜單
- 26. JQuery菜單浮動和顯示子菜單頁
- 27. 如何使用php和mysql創建帶子菜單的動態菜單
- 28. 創建子菜單
- 29. 創建子菜單
- 30. ASP.NET路由塊顯示水平子菜單的菜單控制