Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
804 views
in Technique[技术] by (71.8m points)

razor - ASP.NET MVC 3 _Layout.cshtml Controller

Can anyone help me with the subject? I'm using Razor view engine and I need to pass some data to _Layout. How can I do it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

As usual you start by creating a view model representing the data:

public class MyViewModel
{
    public string SomeData { get; set; }
}

then a controller which will fetch the data from somewhere:

public class MyDataController: Controller
{
    public ActionResult Index()
    {
        var model = new MyViewModel
        {
            SomeData = "some data"
        };
        return PartialView(model);
    }
}

then a corresponding view (~/Views/MyData/Index.cshtml) to represent the data:

@{
    Layout = null;
}
<h2>@Model.SomeData</h2>

and finally inside your _Layout.cshtml include this data somewhere:

@Html.Action("index", "mydata")

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...