任何人都可以幫助我解決這個問題嗎?我使用Razor視圖引擎,我需要將一些數據傳遞給_Layout。我該怎麼做?ASP.NET MVC 3 _Layout.cshtml控制器
10
A
回答
1
您可以使用ViewBag來傳遞數據。
在你的控制器:在你
ViewBag.LayoutModel = myData;
訪問佈局:
@ViewBag.LayoutModel
它是一個動態的對象,所以你可以使用任何你想要的屬性名稱。
1
ViewBag方法是最簡單的。但是,如果您需要高級功能和類型功能,則還可以嘗試將該部分用公共控制器(部分視圖呈現相關部分)採用該部分視圖(如果該值可以獨立計算並且不需要來自其他控制器的輸入),並從_Layout上調用RenderPartial。
如果您想我可以給你一些關於它的詳細信息...
10
像往常一樣,通過創建一個視圖模型表示數據開始:
public class MyViewModel
{
public string SomeData { get; set; }
}
然後控制器將取數據從某處:
public class MyDataController: Controller
{
public ActionResult Index()
{
var model = new MyViewModel
{
SomeData = "some data"
};
return PartialView(model);
}
}
然後相應的視圖(~/Views/MyData/Index.cshtml
)來表示數據:
@{
Layout = null;
}
<h2>@Model.SomeData</h2>
終於裏面你_Layout.cshtml
某處有這樣的數據:
@Html.Action("index", "mydata")
+0
這將意味着你必須手動添加這對每個視圖。有沒有辦法將數據傳遞給每個頁面的_layout.cshtml? – 2011-09-08 21:12:29
相關問題
- 1. ASP.NET MVC 3控制器擴展方法
- 2. ASP.Net MVC 3控制器的繼承
- 3. asp.net MVC 3 - 從其它控制器
- 4. ASP.NET MVC 3控制器的路線 - 讓
- 5. ASP.NET MVC 3控制器路由
- 6. ASP.Net MVC控制器
- 7. ASP.NET MVC控制器設計
- 8. ASP.NET MVC 3 Ajax.ActionLink
- 9. MVC 4:爲共享視圖創建控制器_Layout.cshtml
- 10. ASP.Net MVC控制器_layout
- 11. ASP.NET MVC - 組合控制器?
- 12. 在ASP.NET MVC控制器
- 13. 胖ASP.NET MVC控制器
- 14. Asp.Net MVC共享控制器
- 15. ASP.NET MVC基礎控制器
- 16. ASP.NET MVC子控制器
- 17. 從asp.net的MVC控制器
- 18. ASP.NET MVC - 作業控制器
- 19. IDisposable ASP.net MVC控制器
- 20. Asp.Net MVC - 所有控制器
- 21. 分割ASP.NET MVC控制器
- 22. Asp.net MVC繼承控制器
- 23. asp.net mvc通用控制器
- 24. Asp.net MVC子控制器
- 25. ASP.NET MVC控制器 - 500Error
- 26. Angularjs和Asp.Net MVC控制器
- 27. ASP.Net MVC控制器注入
- 28. IoC和ASP.NET MVC控制器
- 29. ASP.NET MVC的網格控制3
- 30. ASP.NET MVC控制
是的,請給我們介紹一下它的一些詳細信息:] – cc0 2011-03-05 18:46:41