macros - 使用 Razor 脚本在 Umbraco 中随机选取一个页面节点

标签 macros razor umbraco

以下代码在 http://www.keelycattschoolofdance.co.uk 的主页上显示一个推荐项效果很好:

@using umbraco.MacroEngines;
@inherits umbraco.MacroEngines.DynamicNodeContext

@{ 
var numberOfItems = 1;
DynamicNodeList pages = @Model.Children.Where("umbracoNaviHide !=    true").Take(numberOfItems).OrderBy("UpdateDate");
}

<div>
    @foreach (DynamicNode page in pages)
    {        
       <h2>@page.Name</h2>
       <p>@page.GetProperty("introText")</p>
       <p><a href="@page.Url">Read more...</a></p>
       <p><strong>@page.GetProperty("personsName")</strong></p>                       
    }
</div>

我想通过选择随机推荐来进一步发展这个小脚本。我应该怎样做呢?

最佳答案

尝试

var r = new Random();
var numberOfItems = 1;
List<DynamicNode> pages = new DynamicNode(Model.Id).Descendants().Items.Where(x => x.Visible).OrderBy(x => r.Next()).Take(numberOfItems).ToList();       

关于macros - 使用 Razor 脚本在 Umbraco 中随机选取一个页面节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688168/

相关文章:

C++11 自动转换

我可以在编译 C 代码期间看到定义的宏吗?

c++ - 为什么arduino对某些 'functions'使用宏,例如min(),max(),constrain()?

jquery - 如何在 ASP.Net MVC 5 中调用同一项目但不同文件夹中的 jQuery 函数?

c# - 始终选择项值为 0 的 DropDownListFor

Umbraco 表面 Controller 未通过 POST 提交到后端

visual-studio-code - 如何在 VS Code 中创建 "terminal configuration macro"?轻松打开和拆分多个终端

asp.net - WebMatrix、ASP.NET Razor、IIS Developer Express、SQL Server Compact Edition - 这些新技术背后的 Microsoft 目标是什么?

c# - 如何向 umbraco 添加 .NET MVC 控件?

Xpath 获取具有类别文本的第一个祖先