我是.Net開發人員,並且正在尋找與使用.Net用戶控件而不使用MVC技術和XSLT在umbraco 7中創建動態導航菜單相關的示例。我在谷歌搜索它,但沒有太多的迴應,我得到的例子是使用XSLT或剃刀。我在MVC和XSLT方面沒有任何經驗,並且正在尋找與使用經典ASP.Net相關的技術,即不使用XSLT和MVC。如果有人能夠提供一些有用的視頻或鏈接,我可以參考一些例子,這將非常有幫助。使用.Net用戶控件的Umbraco中的動態菜單導航
感謝
Tarunjit辛格
我是.Net開發人員,並且正在尋找與使用.Net用戶控件而不使用MVC技術和XSLT在umbraco 7中創建動態導航菜單相關的示例。我在谷歌搜索它,但沒有太多的迴應,我得到的例子是使用XSLT或剃刀。我在MVC和XSLT方面沒有任何經驗,並且正在尋找與使用經典ASP.Net相關的技術,即不使用XSLT和MVC。如果有人能夠提供一些有用的視頻或鏈接,我可以參考一些例子,這將非常有幫助。使用.Net用戶控件的Umbraco中的動態菜單導航
感謝
Tarunjit辛格
你應該真的看在剃刀的事情。它太簡單了,不要嘗試! 它看起來像c#混合了一些HTML。如果你真的想堅持.Net UserControls,你可能會錯過未來的版本。
在用戶控件創建導航是非常困難的,因爲你有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")
您必須承認,這並不難。