据我所知,MVC3布局页面中只能存在1个RenderBody,但我想尝试创建另一个。也许我正在以错误的方式看待它......理想情况下,我想添加一个从数据库中提取的推荐部分,一次显示1个推荐,每个页面刷新或新页面显示不同的1。最好的方法是什么?
控制器
CategoryDBContext db = new CategoryDBContext();
public ActionResult Testimonial(int id)
{
TestimonialModel model = db.Testimonials.Find(id);
return View(model);
}
模型
public class TestimonialModel
{
public int ID { get; set; }
public int CategoryID { get; set; }
public string Data { get; set; }
}
public class CategoryDBContext : DbContext
{
public DbSet<TestimonialModel> Testimonials { get; set; }
}
View位于名为CategoryData的文件夹中。
答案 0 :(得分:3)
您需要使用:
布局:
@RenderSection("Testimonial", false) @*false means that this section is not required*@
并在你的视图中
@section Testimonial{
}
答案 1 :(得分:0)
我会使用@Html.Action()
以下是关于使用它们的精彩博文:http://kazimanzurrashid.com/posts/viewdata-or-viewbag-avoid-dependency-pollution-in-asp-dot-net-mvc-controller
这将允许您拥有一个TestimonialController
,它可以接收值,查询数据并返回部分视图。