正式学习MVC 04
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的更多相关文章
- 正式学习MVC 01
1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...
- 正式学习MVC 05
1.剃须刀模板razor的使用 1)混编 循环语法 @model List<MVCStudy.Models.Student> @{ ViewBag.Title = "List&q ...
- 正式学习MVC 02
1.cookie 继续讲解MVC的内置对象cookie 相对不安全 1)保存cookie public ActionResult Index() { // 设置cookie以及过期时间 Respons ...
- 正式学习MVC 06
1.Model常用属性讲解 using System; using System.ComponentModel.DataAnnotations; namespace MVCStudy2.Models ...
- 正式学习MVC 03
1.View -> Controller的数据通信 1) 通过url查询字符串 public ActionResult Index(string user) { return Content(u ...
- 白话学习MVC(十)View的呈现二
本节将接着<白话学习MVC(九)View的呈现一>来继续对ViewResult的详细执行过程进行分析! 9.ViewResult ViewResult将视图页的内容响应给客户端! 由于Vi ...
- 学习MVC之租房网站(二)-框架搭建及准备工作
在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编 ...
- Redis:学习笔记-04
Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 1 ...
- 白话学习MVC(八)Action的执行二
一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇 ...
随机推荐
- 吴裕雄--天生自然python机器学习:机器学习简介
除却一些无关紧要的情况,人们很难直接从原始数据本身获得所需信息.例如 ,对于垃圾邮 件的检测,侦测一个单词是否存在并没有太大的作用,然而当某几个特定单词同时出现时,再辅 以考察邮件长度及其他因素,人们 ...
- python Pandas Profiling 一行代码EDA 探索性数据分析
文章大纲 1. 探索性数据分析 代码样例 效果 解决pandas profile 中文显示的问题 1. 探索性数据分析 数据的筛选.重组.结构化.预处理等都属于探索性数据分析的范畴,探索性数据分析是帮 ...
- OpenCV 图像清晰度(相机自动对焦)
相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...
- 2. Unconstrained Optimization
2.1 Basic Results on the Existence of Optimizers 2.1. Let \(f:U->\mathbb{R}\) be a function on a ...
- vue2.0学习之动画
下载animate.css <transition name="v"> <div class="content">需要做动画的内容< ...
- Mybatis的generator自动生成代码
mybatis-generator有三种用法:命令行.ide插件.maven插件.本次使用maven生成 环境:IDEA,mysql8,maven (1):新建项目,本次以SpringBoot项目为例 ...
- Hypothesis Tests for One Population Mean When σ Is Known
9.5 Hypothesis Tests for One Population Mean When σ Is Known 使用z-test前提(同使用mean distribution之前的考虑) 在 ...
- va_list、va_start和va_end使用
我们知道va_start,va_arg,va_end是在stdarg.h中被定义成宏的,由于1.硬件平台的不同 2.编译器的不同,所以定义的宏也有所不同. 在ANSI C中,这些宏的定义位于stdar ...
- cs231n spring 2017 lecture9 CNN Architectures
参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...
- [LC] 122. Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...