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

  • 相关阅读:
    torch.utils.data.DataLoader对象中的迭代操作
    python中的Iterable对象和Iterator
    torch.utils.data.DataLoader()中的pin_memory参数
    pytorch multi-gpu train
    conda安装cv2库
    WGAN讲解
    Segmentation metrics
    Tensorflow的Queue读取数据机制
    文档生产工具 Doxygen
    打印更多的用户态段错误信息
  • 原文地址:https://www.cnblogs.com/FlyCat/p/2622857.html
Copyright © 2020-2023  润新知