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()的部分

MVC中@Html.Action的用法的更多相关文章

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

    MVC项目中如果有公共部分的代码就可以单独拿出来作为控件来用(比如头部和底部代码).跟ASP.NET中的ASCX实现的效果一样,但MVC比它方便的多. 一.@Html.Action的用法 @Html. ...

  2. Spring MVC中各个filter的用法

    转载:http://blog.csdn.net/qyp1314/article/details/42023725 Spring MVC中各个filter的用法 2014-12-19 09:08 105 ...

  3. MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法

    前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的 ...

  4. Spring MVC中Session的正确用法<转>

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  5. 【转】Spring MVC中Session的正确用法之我见

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  6. Spring MVC中Session的正确用法之我见

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  7. ASP.NET MVC中在Action获取提交的表单数据方法总结 (4种方法,转载备忘)

    有Index视图如下: 视图代码如下: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Mas ...

  8. ASP.NET MVC中在Action获取提交的表单数据方法

    有Index视图如下: 视图代码如下: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Mas ...

  9. JAVA Spring MVC中各个filter的用法

    spring mvc的org.springframework.web.filter包下的Java文件如下: 类的结构如下: AbstractRequestLoggingFilter及其子类 Abstr ...

随机推荐

  1. Vue跨路由触发事件,Vue监听sessionStorage

    近来,在做公司的聊天系统,引用的是极光的api.项目需求实时监听别人发过来的消息,进行渲染到页面,还有历史记录也要渲染,历史记录和实时聊天记录返回的结构体还不一样,看到需求的我欲哭无泪,首先登录是在首 ...

  2. VAE--就是AutoEncoder的编码输出服从正态分布

    花式解释AutoEncoder与VAE 什么是自动编码器 自动编码器(AutoEncoder)最开始作为一种数据的压缩方法,其特点有: 1)跟数据相关程度很高,这意味着自动编码器只能压缩与训练数据相似 ...

  3. Javascript 面向对象编程(补充):封装

    Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果 ...

  4. 关于CMD中延迟环境变量嵌套的实现方法

    在我昨天做的一个bat中(自动按日期重命名文件名)涉及到这方面的问题 以前涉及到这里时就想别的办法替代过去,今天好好扒出来说说: 实现变量嵌套的2种方法: 1,使用call实现变量嵌套 变量嵌套:即在 ...

  5. maven打包资源文件(转)

    原文链接:http://blog.csdn.net/u012849872/article/details/51035938 maven工程标准目录结构: src    -main       –bin ...

  6. 学习 Flask 扩展 Flask-RESTful

    pip install Flask-RESTful Flask-RESTful扩展.首先,我们来安装上面这个扩展. from flask import Flask from flask_restful ...

  7. Beta阶段第2周/共2周 Scrum立会报告+燃尽图 12

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...

  8. vue.js 源代码学习笔记 ----- codegen.js

    /* @flow */ import { genHandlers } from './events' import { baseWarn, pluckModuleFunction } from '.. ...

  9. 使用阿里云docker加速器

    登陆之后,在docker镜像仓库-加速器可获得专有加速地址. 如何使用Docker加速器 针对Docker客户端版本大于1.10的用户 您可以通过修改daemon配置文件/etc/docker/dae ...

  10. java面试题11

    第九次面试题 1. GC是什么?为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩 ...