Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 布局页面中的两个渲染体?_Asp.net Mvc 3_C# 4.0 - Fatal编程技术网

Asp.net mvc 3 布局页面中的两个渲染体?

Asp.net mvc 3 布局页面中的两个渲染体?,asp.net-mvc-3,c#-4.0,Asp.net Mvc 3,C# 4.0,我知道MVC3布局页面中只能存在一个RenderBody,但我想尝试创建另一个。也许我看错了。。。理想情况下,我希望添加一个从DB中拉入的推荐部分,一次显示一个推荐,每个页面刷新或新页面显示一个不同的推荐。最好的办法是什么 控制器 CategoryDBContext db = new CategoryDBContext(); public ActionResult Testimonial(int id) { TestimonialModel model = db.Test

我知道MVC3布局页面中只能存在一个RenderBody,但我想尝试创建另一个。也许我看错了。。。理想情况下,我希望添加一个从DB中拉入的推荐部分,一次显示一个推荐,每个页面刷新或新页面显示一个不同的推荐。最好的办法是什么

控制器

CategoryDBContext db = new CategoryDBContext();
public ActionResult Testimonial(int id)
    {
        TestimonialModel model = db.Testimonials.Find(id);
        return View(model);
    }
模型

公共类证明模型
{
公共int ID{get;set;}
public int CategoryID{get;set;}
公共字符串数据{get;set;}
}
公共类CategoryDBContext:DbContext
{
公共数据库集证明{get;set;}
}
该视图位于名为CategoryData的文件夹中。

您需要使用:

布局:

@RenderSection("Testimonial", false) @*false means that this section is not required*@
在你看来

@section Testimonial{
}

我会使用
@Html.Action()

下面是一篇关于如何使用它们的博文:


这将允许您拥有一个
鉴定控制器
,该控制器可以接收值、查询数据并返回部分视图。

控制器如何知道在何处查找@section鉴定?我正在用我目前掌握的更新我的问题…@bl4kh4k您的控制器不知道任何有关节的内容。。你想如何刷新推荐?DB说大约有5个条目,想法是在视图中一次显示1个条目,所以如果有人刷新页面,我希望有一个随机条目显示。我看了一个rendersection示例,该部分在站点的视图部分定义。。。这意味着我必须在每个视图中放置相同的部分?难道没有更简单的方法吗?@bl4kh4k是你每页的推荐信吗?
@section Testimonial{
}