asp.net MVC 4.0 View回顾——布局页与分部页
2020-12-13 06:05
标签:style blog class c code java asp.net MVC 4.0中总结 视图里加载部分视图几种方法 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递。 分部视图接收数据通过Page
3 @Page.title
4 @Html.Partial() 用于将分部视图渲染为字符串 @Html.Partial("_PartialPage1",model,ViewData)直接返回MvcHtmlString填充 Razor子视图里使用 ViewBag 来获取传递的数据
3 @ViewBag.content
4 传递强类型到部分视图 _childPartial.cshtml @RenderPartial() 将分布视图直接写入响应输出流,所以只能直接放在代码块中,不能放在表达式中(返回值是void) RenderPartial 不需要创建 Controller 的 Action ,而
RenderAction 需要在 Controller 创建要加载的 Action。RenderAction 会先去调用
Contorller 的 Action ,最后再 呈现视图,所以这里 页面会在 发起一个链接。如果这个部分视图只是一些简单
的 html 代码,请使用 RenderPartial。 但如果这个部分视图 除了有 html 代码外,还需要 通过 读取数据库里的数据 来渲染,就必须使用
RenderAction 了,因为 它可以在 Action 里调用 Model里的 法读取数据库,渲染视图后在呈现,而 RenderPartial
没有 Action,所以无法做到。 Partial 可以直接输出内容,它内部是 将 html 内容转换为 string
字符(MVCHtmlString),然后缓存起来,
最后在一次性输出到页面。显然,这个转换的过程,会降低效率,所以通常使用 RenderPartial 代替。 实体类 控制器 建立一个PartialView - MyMenu.cshtml 在页面中调用该Action生成视图: 1 @Html.Action("MyMenu") 调用Action时传入参数 1 @{Html.RenderAction("MyMenu")} Action 也是直接输出,和 Partial 一样,也存在一个转换的过程。不如 RenderAction 直接输出到 当前HttpContext
的效率高。 asp.net MVC 4.0 View回顾——布局页与分部页,搜素材,soscw.com asp.net MVC 4.0 View回顾——布局页与分部页 标签:style blog class c code java 原文地址:http://www.cnblogs.com/raohuagang/p/3740353.html1 @RenderPage("~/Shared/Component/Dialog.cshtml", new { title = "Hello world!", content="Nani" })
1
1 @Html.Partial("Component/Dialog", null, new ViewDataDictionary { { "title", "Hello world!" }, { "content", "Nani?" } })
1
1 @{
2 var args = new Dictionarystring,string>();
3 args["redirectController"] = "Admin";
4 args["redirectAction"] = "User";
5 }
6 @Html.Partial("_childPartial",args)
1 @model Dictionarystring,string>
2
@Html.Action() 1 public class Menu
2 {
3 public List
1 public ActionResult MyMenu()
2 {
3 MvcLearn.Models.Menu m = new MvcLearn.Models.Menu();
4 List
1 @model MvcLearn.Models.Menu
2
3 @foreach(var item in Model.Items)
4 {
5
1 @Html.Action("MyMenu", new { mi= new MvcLearn.Models.MenuItem(){ Text = "haha", Url ="http://www.ms.com">http://www.ms.com}})
@Html.RenderAction()
文章标题:asp.net MVC 4.0 View回顾——布局页与分部页
文章链接:http://soscw.com/essay/32422.html