Html.Action与Html.RenderAction的用法与区别:RenderAction要写在代码中!!!1
2014-08-19 14:42
309 查看
Action是执行单独的控制器并且显示结果,Action与RenderAction不同的是,Action返回的是字符串,而RenderAction是写入响应流,因此RenderAction是要写在代码中:
下面来介绍怎样具体实现Html.Action:
1.首先在Models里面创建两个类:Menu.cs 和MenuItem.cs
2.在Controllers添加代码:
其中[ChildActionOnly]这个特性设置了防止运行时直接通过一个URL调用Menu操作,只能通过Action和RenderAction操作。这个特性不是必须要用的。
3.创建Menus视图:
4.在将要调用@Html.Action的视图中添加本例在Index.cshtml:
Action是执行单独的控制器并且显示结果,Action与RenderAction不同的是,Action返回的是字符串,而RenderAction是写入响应流,因此RenderAction是要写在代码中:
@Html.Action("test") @{ Html.RenderAction("test"); }
下面来介绍怎样具体实现Html.Action:
1.首先在Models里面创建两个类:Menu.cs 和MenuItem.cs
public class Menu { public List<MenuItem> Items { get; set; } }
public class MenuItem { public string Text { get; set; } public string Url { get; set; } }
2.在Controllers添加代码:
[ChildActionOnly] public ActionResult Menus() { Menu menu = new Menu(); List<MenuItem> items = new List<MenuItem>(); items.Add(new Models.MenuItem() { Text = "Baidu", Url = "http://www.baidu.com" }); items.Add(new Models.MenuItem() { Text = "Sina", Url = "http://www.sina.com" }); items.Add(new Models.MenuItem() { Text = "Sohu", Url = "http://www.sohu.com" }); items.Add(new Models.MenuItem() { Text = "IBM", Url = "http://www.ibm.com" }); menu.Items = items; return PartialView(menu); }
其中[ChildActionOnly]这个特性设置了防止运行时直接通过一个URL调用Menu操作,只能通过Action和RenderAction操作。这个特性不是必须要用的。
3.创建Menus视图:
@model Example.Models.Menu <ul> @foreach (var item in Model.Items) { <li><a href="@item.Url">@item.Text</a></li> } </ul>
4.在将要调用@Html.Action的视图中添加本例在Index.cshtml:
<div> @Html.Action("MyMenu") <hr /> @{ Html.RenderAction("MyMenu"); } </div>这是两种方式的调用。
相关文章推荐
- [转]Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法【转发】
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法(mvc部分视图的添加)
- 转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
- mvc HTMl.Partial,Action,RenderPartial,RenderAction区别与传参
- @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)
- dhl:Url.Action和Html.ActionLink当有两个参数时:生成Html 代码中&字符的区别:Url.Action不会转义。
- 如何选择Html.RenderPartial和Html.RenderAction及Html.RenderAction与Html.Action区别
- @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
- @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)