相关疑难解决方法(0)

在帮助程序中访问全局页面变量

@{
    int i = 0;
}

@helper Text() {
    <input type="text" name="Ans[@i].Text" />
}
Run Code Online (Sandbox Code Playgroud)

i在帮助器中无法访问.如何访问它?

razor asp.net-mvc-3

44
推荐指数
2
解决办法
1万
查看次数

ASP.NET MVC:使用递归助手生成多级菜单

我使用此代码生成菜单,此菜单使用此技术从数据库(类别表)填充项目

局部视图:

@using SarbarzDarb.Helper
@model IEnumerable<SarbarzDarb.Models.Entities.Category>

@ShowTree(Model)

@helper ShowTree(IEnumerable<SarbarzDarb.Models.Entities.Category> categories)
{
        foreach (var item in categories)
        {
            <li class="@(item.ParentId == null && item.Children.Any() ? "dropdown-submenu" : "")">

                @Html.ActionLink(item.Name, actionName: "Category", controllerName: "Product", routeValues: new { Id = item.Id, productName = item.Name.ToSeoUrl() }, htmlAttributes: null)

                @if (item.Children.Any())
                {
                    ShowTree(item.Children);
                }

            </li>

        }
}
Run Code Online (Sandbox Code Playgroud)

我也是这样通过模型从控制器传递到局部视图以上:

public IList<Category> GetAll()
{

        return _category.Where(category => category.ParentId == null)
                        .Include(category => category.Children).ToList();
}
public ActionResult Categories()
{
            var query = GetAll();
            return PartialView("_Categories",query);
} …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc recursion entity-relationship razor ef-code-first

2
推荐指数
1
解决办法
8930
查看次数