我是.Net开发人员,我正在寻找与使用.Net用户控件而不使用MVC技术和XSLT在umbraco 7中创建动态导航菜单相关的示例。我在google上搜索了它但没有得到太多响应,我得到的例子是使用XSLT或Razor。我没有任何MVC和XSLT的经验,也没有寻找与使用经典ASP.Net相关的技术,即不使用XSLT和MVC。如果任何人能够提供一些有用的视频或链接以及我可以参考的例子,那将是一个很大的帮助。
由于
Tarunjit Singh
答案 0 :(得分:2)
你应该真的调查Razor的事情。它只是简单不要尝试! 看起来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>
此示例可用作局部视图。并且可以使用以下内容放入您的(Razor)模板:@Html.Partial("NameOfThePartial")
你必须承认,它并不太难。