zoukankan      html  css  js  c++  java
  • MVC中@Html.Action的用法(类似自定义控件)

    MVC中@Html.Action的用法(类似自定义控件)

    2017年06月01日 16:12:08 【蓦然回首】 阅读数 4930

    MVC项目中如果有公共部分的代码就可以单独拿出来作为控件来用(比如头部和底部代码)。跟ASP.NET中的ASCX实现的效果一样,但MVC比它方便的多。
            想要实现该效果,需要知道@Html.Action的用法。
            @Html.Action有很多的构造方法在这里我只说一种也是经常用到的,@Html.Action("视图","控制器")的用法。首先我先创建一个控制器DaohangController.cs再在该控制器里添加一个视图方法RightDH,同时在Views文件夹里添加相应的cshtml页面。这个时候就创建好了一个可以运行的RightDH页面,
           可以直接访问(/Daohang/RightDH),看一下是否可以正常的访问。如果可以正常的访问,看下一步,在你想要调用的页面调用RightDH页面(代码:@Html.Action("RightDH", "Daohang")),这个时候运行你调用该视图的页面,就会看到RightDH页面的信息已经被调用过来了。
           是不是很简单,呵呵
           说到这儿我说一下_ViewStart.cshtml这个文件,在MVC里都会看到这个页面的存在,这个是页面是不可访问的,但是你访问MVC里的每个页面的时候,程序都会先访问_ViewStart.cshtml页面然后才是你要访问的页面。这就有一个好处,一些公共的html代码可以放到_ViewStart.cshtml文件里。
          然后就是母版页,引用了母板页也就继承了母板页的所有代码,所以你可以把写好的头部和底部代码写成控件的方式,然后在母板页里面调用该控件(用@Html.Action调用控件),然后让其他页面继承母板页,这样就区分开公共部分和非公共部分。也达到了代码重用的效果。
          那么怎么继承母板页呢,有两个办法:1就是在创建页面的时候直接继承。2.直接在页面的顶部加上
         @{   
             Layout = "~/Views/Shared/HeadFoot.cshtml";
          }
         红色部分就是母板页地址,在创建的页面里的内容都会替换到母板页里@RenderBody()的部分

  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/grj001/p/12224729.html
Copyright © 2011-2022 走看看