1、ActionResult

ActionResult是一个父类,

子类包括了我们熟知的

ViewResult 返回相应的视图

ContentResult  返回字符串

RedirectResult( return Redirect(url:xxxx))  重定向

RedirectToRouteResult (return RedirectToAction(actionName,controllerName:xxx))  根据路由重定向

FileResult 向客户端输出文件

JsonResult 向客户端返回JSON对象

HttpStatusCodeResult 显示不同的状态码

PartialViewResult 返回部分页面

跳转到其他的行为(方法)

返回一个文件

一个图片的上传与查看功能实现

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<img src="/Demo/BrowsePic?name=固定的name" alt="Alternate Text" />
<form action="/Demo/UploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="pic" value="" />
<input type="submit" name="" value="提交" />
</form>
</body>
</html>
        public ActionResult UploadFile(HttpPostedFileBase pic)
{
var filename = DateTime.Now.Ticks + pic.FileName;
pic.SaveAs(filename: Request.MapPath(basePath + filename));
var info = filename + "has been saved.";
return Content(filename);
} public ActionResult BrowsePic(string name)
{
return File(basePath + name, contentType: "image/jpg");
}

获取文件大小

file.ContentLength 单位是Byte

2、JSON

默认不允许get请求

        public ActionResult Index()
{
// 允许get请求
return Json(new { id = , name = "Jack" }, JsonRequestBehavior.AllowGet);
}

单独写Action进行ajax操作

3、状态码

       public ActionResult Index()
{
return new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound);
}

.InternalServerError 500

4、部分视图

不会添加Layout

        public PartialViewResult GetPartial()
{
return PartialView();
}
<h2>这是部分页面的视图</h2>

作用类似于组件,适合作为组件被使用,使用方法:

<h1>index page for demo</h1>

<p>引用部分视图</p>

@Html.Action("GetPartial")

另外,也可以在shared文件夹下创建分部页:

但是使用方法与上面不同:

<h1>index page for demo</h1>

<p>引用部分视图</p>

@Html.Action("GetPartial")
@Html.Partial("_PartialPage1")

这种方式如何传参?通过其第二个参数:

主视图:

@using MVCStudy.Models

<h1>index page for demo</h1>

<p>引用部分视图</p>

@Html.Action("GetPartial")
@Html.Partial("_PartialPage1", new Animal{ Name = "pig" ,Sex = "male"})

分部视图:

@model MVCStudy.Models.Animal
<h2>你好,我是在shared目录下创建的分部页</h2> <p>接下来是我所接收的参数</p> <p>@Model.Name</p>
<p>@Model.Sex</p>

正式学习MVC 04的更多相关文章

  1. 正式学习MVC 01

    1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...

  2. 正式学习MVC 05

    1.剃须刀模板razor的使用 1)混编 循环语法 @model List<MVCStudy.Models.Student> @{ ViewBag.Title = "List&q ...

  3. 正式学习MVC 02

    1.cookie 继续讲解MVC的内置对象cookie 相对不安全 1)保存cookie public ActionResult Index() { // 设置cookie以及过期时间 Respons ...

  4. 正式学习MVC 06

    1.Model常用属性讲解 using System; using System.ComponentModel.DataAnnotations; namespace MVCStudy2.Models ...

  5. 正式学习MVC 03

    1.View -> Controller的数据通信 1) 通过url查询字符串 public ActionResult Index(string user) { return Content(u ...

  6. 白话学习MVC(十)View的呈现二

    本节将接着<白话学习MVC(九)View的呈现一>来继续对ViewResult的详细执行过程进行分析! 9.ViewResult ViewResult将视图页的内容响应给客户端! 由于Vi ...

  7. 学习MVC之租房网站(二)-框架搭建及准备工作

    在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编 ...

  8. Redis:学习笔记-04

    Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 1 ...

  9. 白话学习MVC(八)Action的执行二

    一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇 ...

随机推荐

  1. EternalBlue永恒之蓝漏洞复现

    EternalBlue漏洞复现 1.    实训目的 永恒之蓝(EternalBlue)是由美国国家安全局开发的漏洞利用程序,对应微软漏洞编号ms17-010.该漏洞利用工具由一个名为”影子经济人”( ...

  2. dns bind记录

    自建DNS服务, 使用的工具是bind, 当然也有其他更轻量的工具 yum -y install bind /etc/named.conf 监听端口和ip修改 默认监听127.0.0.1 其他机器无法 ...

  3. 博客框架 Hexo: 3.9.0 及主题 NexT 6.x.x 基本操作

    文章大纲 1. 不同代码仓库部署 coding 部署方式 项目名称 配置 SSH 公钥访问 git 仓库 github 码云 2. 手动cdn,智能解析 3. 添加评论系统 4. 博客置顶 5. 页脚 ...

  4. TCP\IP协议簇-各层主要协议帧格式

    本文只是对各协议的概要,详细请参考rfc文件. 官方下载地址:https://tools.ietf.org/rfc/index rfc中文:http://man.chinaunix.net/devel ...

  5. Prefix and Suffix

    题目描述 Snuke is interested in strings that satisfy the following conditions: The length of the string ...

  6. kettle的基本使用

    一.下载下载kettlehttp://sourceforge.net/projects/pentaho/files/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.z ...

  7. chkconfig原理

    ll  /etc/rc.d    里面有运行级别对应的脚本 chkconfig --list  sshd ll /etc/rc.d/rc3.d/   | grep sshd     (查看3启动 里面 ...

  8. 树形dp(最小支配集)

    http://poj.org/problem?id=3659 #include<iostream> #include<cstring> #include<algorith ...

  9. Python之configparser配置文件的读取

    配置文件名 config.ini 文件内容: [linux] ip:10.0.13.26 port:22 username:root password:W2ynE6b58wheeFho [mysql] ...

  10. [转]<版本一>写代码的小女孩

    天冷极了,下着雪,又快黑了.这是NOIP的前夜.在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码.她从班里逃出来的时候还拿着一本算导,但是有什么用呢?那是一本很破旧的书——那么大,一向是她妈妈垫 ...