ASP.NET MVC 3 _Layout.cshtml控制器
答
您可以使用ViewBag来传递数据。
在你的控制器:在你
ViewBag.LayoutModel = myData;
访问布局:
@ViewBag.LayoutModel
它是一个动态的对象,所以你可以使用任何你想要的属性名称。
答
ViewBag方法是最简单的。但是,如果您需要高级功能和类型功能,则还可以尝试将该部分用公共控制器(部分视图呈现相关部分)采用该部分视图(如果该值可以独立计算并且不需要来自其他控制器的输入),并从_Layout上调用RenderPartial。
如果您想我可以给你一些关于它的详细信息...
答
像往常一样,通过创建一个视图模型表示数据开始:
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
是的,请给我们介绍一下它的一些详细信息:] – cc0 2011-03-05 18:46:41