zoukankan      html  css  js  c++  java
  • Html.Action与Html.RenderAction的用法与区别:RenderAction要写在代码中!!!1

     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)
     

     __________________________________________________ ____________________________ ____________________________ ____________________________ _______________________________

  • 相关阅读:
    tarjan无向图缩点
    8、11 T1:入阵曲:复杂度估算,观察规律与性质,数据存储与查询
    容斥系数
    模拟测试12:
    模拟测试11:冷静稳健。
    好的文章
    容器,函数等
    后缀数组:
    HDU5618 Jam's problem again CDQ分治
    P3810 陌上花开 CDQ分治
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/13071043.html
Copyright © 2011-2022 走看看