Asp.net

將數據傳遞到佈局頁面

  • April 2, 2017

我有一個layout頁面需要填寫變數。例子:

@ModelType KarateAqua.schoolModel

<html>
   <body>

       @RenderBody()

       <div id="footer">
           <div class="content">
               <div class="bottom_logo">
                   <a href="/"><span class="inv">@Model.schoolName</span></a>
               </div>
           </div>
       </div>
   </body>
</html>

我不想在每個ActionResult. 有沒有辦法layout一次將數據傳遞到頁面並為所有實例執行此操作?

好的,因為您希望在可以使用局部視圖時設置它。但是,根據您的需要,您將需要有幾個部分視圖(如果部分將分散在 _layout 頁面中,可能並不理想)

你的局部視圖看起來像

@model KarateAqua.schoolModel

<div class="bottom_logo">
<a href="/"><span class="inv">@Model.schoolName</span>
</div>

控制器

public class SchoolController : Controller
{
    public ActionResult Index()
    {
         //get schoolModel  
         return PartialView(schoolModel);
    }
}

在您的 _layout.cshtml 中將此行放置在您想要插入局部視圖的位置

@Html.Action("Index","School")

引用自:https://stackoverflow.com/questions/10552502