2012-01-10 9 views
2

私は、MVC3のレイアウトページには1つのRenderBodyしか存在しないが、別のものを作成しようとしていることを理解しています。たぶん私は間違った方法でそれを見ています...理想的には、DBからプルインする証言セクションを追加し、一度に1つの推薦を表示し、各ページのリフレッシュまたは新しいページに対して異なる1を表示します。これについて最善の方法は何ですか?2つのレンダーボディがレイアウトページにありますか?

コントローラ

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というフォルダにあります。

レイアウト:あなたが使用する必要が

答えて

3

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

とあなたの中には、私がここで@Html.Action()

を使用することになり

@section Testimonial{ 
} 
+0

コントローラーは@sectionの証言をどこから探すべきかをどのように知っていますか?私はこれまでに持っているもので私の質問を更新しています... – bl4kh4k

+0

@ bl4kh4kあなたはコントローラについてセクションについて何も知らない...どのようにあなたの声をリフレッシュしたいですか? –

+0

DBには約5つのエントリがあります。ビューは一度に1つずつ表示されるので、誰かがページをリフレッシュすると、ランダムなエントリ表示ができます。 – bl4kh4k

関連する問題