zoukankan      html  css  js  c++  java
  • ASP.NET MVC3 视图查找

    控制器中直接return View(),将返回和控制器方法名一样的视图

    return View("viewName"),将返回和控制器对应的视图目录下的viewName视图

    也可以指定完全位于不同目录结构张的视图,可以使用带~符号的语法来提供完整的视图,必须提供视图的文件扩展名

    return View("~/Views/Example/Index.cshtml")

    HTML视图辅助方法:

    Partial,RenderPartial:

    2个方法功能相似,都是返回部分视图,但是RenderPartial是直接将内容写入响应流,所以必须把RenderPartial放入代码块中

    例: @Html.Partial("~/Views/Home/ViewUserControl1.cshtml",model)

           @{Html.RenderPartial("~/Views/Home/ViewUserControl1.cshtml",model); }

    也可以相对定位,和View的方式一样

    Action,RenderAction:

    区别和Partial,RenderPartial一样,功能调用一个控制器方法,返回一个视图,Action和Partial相比,可以利用控制器上下文

    控制器代码:

    public class HomeController : Controller
      {
    
            public ActionResult Index()
            {
    
                return View();
    
            }
            [ChildActionOnly]
            public ActionResult Menu()
            {
                var menu = GetMenuFromSomewhere();
                return PartialView(menu);
            }
     }

    menu.cshtml有对应html视图
    Index.cshtml视图中,可以调用Menu操作来显示菜单:

    @Html.Action("Menu")

    ChildActinOnly特性防止了运行时通过一个URL来调用Menu操作,只能通过Action或者RenderAction来调用操作,ChildActinOnly不是必须的,但是通常在进行子操作时推荐使用

    在ASP.NET MVC3中,在ControllerContext中也有一个成为IsChildAction的新属性,判断是否是Acton调用

     可以给Action传递第二个参数来传递值

    @Html.Action("Menu",new{options= MenuOptions{Width=400,Height=500})

    对应的Menu操作

    public ActionResult Menu(MenuOptions options){

       return PartialView(options);

    }

    可以给方法加上ActionName特性改变优先调用名

    [ActionName("CoolMenu")]

    这样调用时候就要使用@Html.Action("CoolMenu")

  • 相关阅读:
    MySQL 资源大全中文版
    Linux性能实时监测工具 Netdata
    《Linux大棚》博客
    GNU bash实现机制与源代码简析
    C#+ArcGIS Engine 获取地图中选中的要素
    arcgis engine 获取高亮Feature、element
    DotNetBar 源码与安装版本
    ArcGIS 按多边形区域统计栅格影像的一些信息
    ArcGIS 空间查询
    55.npm install 报错 :stack Error: Can't find Python executable "python"
  • 原文地址:https://www.cnblogs.com/FlyCat/p/2622857.html
Copyright © 2011-2022 走看看