2014-07-16 29 views
0

我是.Net開發人員,並且正在尋找與使用.Net用戶控件而不使用MVC技術和XSLT在umbraco 7中創建動態導航菜單相關的示例。我在谷歌搜索它,但沒有太多的迴應,我得到的例子是使用XSLT或剃刀。我在MVC和XSLT方面沒有任何經驗,並且正在尋找與使用經典ASP.Net相關的技術,即不使用XSLT和MVC。如果有人能夠提供一些有用的視頻或鏈接,我可以參考一些例子,這將非常有幫助。使用.Net用戶控件的Umbraco中的動態菜單導航

感謝

Tarunjit辛格

回答

2

你應該真的看在剃刀的事情。它太簡單了,不要嘗試! 它看起來像c#混合了一些HTML。如果你真的想堅持.Net UserControls,你可能會錯過未來的版本。

在用戶控件創建導航是非常困難的,因爲你有2個選項

  1. 你需要寫出來的HTML自己
  2. 創建一些定製模型的一些屆黨控制

兩者的這些選項將永遠不會返回您想要的確切 html。另一方面,Razor(和xslt)會。

如果您仍然想在.Net用戶控件中嘗試一些東西,請獲取您想要的Umbraco節點的實例。讓我們舉一個例子:

using System; 
using System.Linq; 
using Umbraco.Web; 

public partial class UserControls_TestUserControl : UmbracoUserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    var cache = this.UmbracoContext.ContentCache; 
    var rootNodes = cache.GetAtRoot().First().Children; 
    foreach (var node in rootNodes) 
    { 
     Response.Write("<li>" + node.Name + "</li>"); 
    } 
    } 
} 

如果要調用此代碼,不要忘了添加宏,並在模板中插入宏。

萬一你想探索剃刀,這裏是一個等價的:

@inherits UmbracoTemplatePage 
@{ 
    var homePage = CurrentPage.AncestorOrSelf(1); 
    var menuItems = homePage.Children; 
} 
<nav> 
    <ul> 
    <li><a href="/">Home</a></li> 

    @foreach (var item in menuItems) 
    { 
     <li><a href="@item.Url">@item.Name</a></li> 
    } 
    </ul> 
</nav> 

這個例子可以作爲一個局部視圖。並且可以使用您的(剃刀)模板:@Html.Partial("NameOfThePartial")

您必須承認,這並不難。