分部试图调用方式
<!--Html.RenderPartial、Html.Partial只会调用对应的cshtml文件,并不会调用controller里的action--> @{Html.RenderPartial("PartialView", "Html.RenderPartial的调用方式");}@{ViewDataDictionary vdd = new ViewDataDictionary() { new KeyValuePair<string, object>("aaa", "bbb"), new KeyValuePair<string, object>("ccc", "ddd") }; }@Html.Partial("PartialView", "Html.Partial的调用方式,并且加入ViewData字典的方式", vdd)@Html.Partial("~/Views/Home/PartialView.cshtml", "指定详细路径的调用方式")<!--Html.Action、Html.RenderAction会先执行后台Controller下的Action,再去找对应cshtml文件--> @Html.Action("Render", "Home", new { id = 100 })@{Html.RenderAction("Render", "Home", new { id = 200 });}<!--对应母版页的RenderSection--> @section MyLayout{<h1>呵呵呵!</h1> }
PartialView.cshtml
@model string<p>@Model</p>@ViewData["aaa"]<br />@ViewData["ccc"]
_layout.cshtml
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>@ViewBag.Title - 我的 ASP.NET 应用程序</title>@Styles.Render("~/Content/css")@Scripts.Render("~/bundles/modernizr") </head> <body><div class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>@Html.ActionLink("应用程序名称", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })</div><div class="navbar-collapse collapse"><ul class="nav navbar-nav"><li>@Html.ActionLink("主页", "Index", "Home")</li><li>@Html.ActionLink("关于", "About", "Home")</li><li>@Html.ActionLink("联系方式", "Contact", "Home")</li></ul></div></div></div><div class="container body-content">@RenderBody()<hr />@RenderSection("MyLayout",required:false)<footer><p>© @DateTime.Now.Year - 我的 ASP.NET 应用程序</p></footer></div>@Scripts.Render("~/bundles/jquery")@Scripts.Render("~/bundles/bootstrap")@RenderSection("scripts", required: false) </body> </html>