MVC局部视图控制器方法未被调用

时间:2014-12-13 21:09:17

标签: c# asp.net-mvc

我试图调用一个返回局部视图的控制器方法。但是,由于在没有控制器的情况下调用它,视图将返回null引用。

如果我想通过控制器方法调用局部视图,我该怎么做呢。

到目前为止,我的代码看起来像这样:

Layout.cshtml

<div class="container" id="menu">
     @Html.Partial("~/Views/Category/_Menu.cshtml")
</div>


CategoryController.cs

public ActionResult Menu()
    {
        var model = new CategoryModel()
        {
            categories = new SortedDictionary<int, List<CategoryDTO>>()
        };

        model.categories[0] = new List<CategoryDTO>();
        model.categories[0].Add(new CategoryDTO()
        {
            id = 1,
            name = "Nålebinding"
        });
        model.categories[0].Add(new CategoryDTO()
        {
            id = 2,
            name = "Strik"
        });
        model.categories[0].Add(new CategoryDTO()
        {
            id = 3,
            name = "Hækling"
        });

        model.categories[1] = new List<CategoryDTO>();
        model.categories[1].Add(new CategoryDTO()
        {
            id = 4,
            name = "Sokker"
        });
        model.categories[1].Add(new CategoryDTO()
        {
            id = 5,
            name = "Vanter"
        });

        model.categories[2] = new List<CategoryDTO>();
        model.categories[2].Add(new CategoryDTO()
        {
            id = 6,
            name = "Sokker"
        });

        return PartialView("_Menu", model);
    }


_Menu.cshtml

@model GUI.Models.CategoryModel
@using DTO;

@helper subCategories(SortedDictionary<int, List<CategoryDTO>> list, int parent)
{
<ul>
    @foreach(var e in list[parent])
    {
        <li>
            @e.name

            @subCategories(list, e.id)
        </li>
    }
</ul>
}

@subCategories(Model.categories, 0)

0 个答案:

没有答案