• 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)
     

     __________________________________________________ ____________________________ ____________________________ ____________________________ _______________________________

  • 相关阅读:
    一点点深夜感慨(还有居家学习日常)
    区间dp 矩阵连乘
    logstash grok match 对等于号,和中括号做筛选
    grok内置的默认类型有很多种,查看所有默认类型
    python开发技术要求
    django--models操作--备注
    django程序--settings.py文件备注
    django-admin 命令备注
    官网提供jumpserver安装文档--复盘 CentOS 7 安装文档
    安装jumpserver,提示错误
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/13071043.html
Copyright © 2020-2023  润新知