Asp.net Mvc3 PartialView

时间:2013-02-10 13:09:13

标签: c# asp.net-mvc-3

我想在我的网站上添加动态类别,在管理区域添加类别并在主页面中显示为partialView,很明显我应该缓存它,我的类别操作是这样的:

 public ActionResult Category()
        {

            var category = _categoryRepository.GetAllCategory();
            return PartialView(category);
        }

我的partialView是:

@model IEnumerable<Blog.Domain.Model.Category>
@{
    ViewBag.Title = "Category";
    Layout = null;
}
<div>
    @foreach (var item in Model)
    {
        <ul>
            @Html.DisplayFor(x => item.Name)
        </ul>
    }
</div>

我不确定上面的代码,也不知道如何缓存类别,请有人帮我解决这个问题,谢谢

2 个答案:

答案 0 :(得分:1)

不确定您真正想要的是什么,但请查看OutputCache - http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/improving-performance-with-output-caching-cs

[OutputCache(Duration=10, VaryByParam="none")]
public ActionResult Category()
{
}

答案 1 :(得分:0)

不确定这是否回答了您的问题,但是为他们分配链接只需使用Html.ActionLink()然后有一个操作,将选定的类别ID作为参数并加载类别的详细视图。

  @model IEnumerable<Blog.Domain.Model.Category>
    @{
        ViewBag.Title = "Category";
        Layout = null;
    }
    <div>
        @foreach (var item in Model)
        {
            <ul>
                @Html.ActionLink(item.Name, "Detail". "Category", new {id = item.id)
            </ul>
        }
    </div>

public ActionResult Details(int id)
        {

            var category = _categoryRepository.GetById(id);
            //detail CategoryView
            return PartialView(category);
        }