我想在视图中递成生成树状结构,看了老赵的文章:http://blog.zhaojie.me/2009/09/rendering-tree-like-structure-recursively.html
想使用他的最后一个实现,但在asp.net mvc razor语法中,不知道如何输出html.
扩展HtmlHelper方法:
public delegate void SelfApplicable<T>(SelfApplicable<T> self, T arg); public static class HtmlExtensions { public static void Render<T>(this HtmlHelper helper, T model, SelfApplicable<T> f) { f(f, model); } }
然后他在视图中的代码是:
<% Html.Render(Model, (render, categories) => { %> <% if (categories.Count > 0) { %> <ul> <% foreach (var cat in categories) { %> <li> <%= Html.Encode(cat.Name) %> <% render(render, cat.Children); %> </li> <% } %> </ul> <% } %> <% }); %>
我想问,如果在razor语法中,如何实现?
把 <% %> 换成 @ 就可以了。
@{
foreach (var cat in categories)
{
<li>
@Html.Encode(cat.Name)
@render(render, cat.Children);
</li>
}
}
请问你的razor 的如何实现的