首页 > Web开发 > 详细

Html.Action与Html.RenderAction的用法与区别:RenderAction要写在代码中!!!1

时间:2020-06-09 10:46:25      阅读:57      评论:0      收藏:0      [点我收藏+]

 https://blog.csdn.net/sym218/article/details/38681531


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>
这是两种方式的调用。

 __________________________________________________ ____________________________ ____________________________ ____________________________ _______________________________

https://yq.aliyun.com/articles/499866/

@Html.Partial/@{Htmt.RenderPartial()}
@Html.Partial用于将分部视图渲染为字符串
@{Html.RenderPartial}将分布视图直接写入响应输出流,所以只能直接放在代码块中,不能放在表达式中(返回值是void)
 

 __________________________________________________ ____________________________ ____________________________ ____________________________ _______________________________

 

Html.Action与Html.RenderAction的用法与区别:RenderAction要写在代码中!!!1

原文:https://www.cnblogs.com/kelelipeng/p/13071043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!