度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2428|回复: 7
打印 上一主题 下一主题

[分享] asp.net mvc之ActionResult

[复制链接]

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
跳转到指定楼层
楼主
发表于 2020-6-16 17:09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Adam丶鱼 于 2017-8-16 17:11 编辑

Web服务器接收到一个客户端请求以后,会对请求予以相应,而这个响应是通过Response来控制的,
但是在asp.net mvc 里,这部分的工作是由ActionResult来完成的,
ActionResult是一个抽象类,所以具体的工作还是由很多个子类来完成,
具体的子类有
EmptyResult,ContentResult
<p>Use this area to provide additional information.</p>
<a href="@Url.Action("ImagePath1", new  { id="1" })">下载</a>

<img src="@Url.Action("ImagePath1", new  { id="1" })" />

<img src="@Url.Action("ImagePath", new  { id="1" })" />

<img src="@Url.Action("ImageContent", new  { id="1" })" />

<img src="@Url.Action("ImageStream", new  { id="1" })" />


public ActionResult ImagePath(string id)
{
    string path = Server.MapPath("/images/" + id + ".jpeg");
    return File(path, "image/jpeg");
}

public ActionResult ImagePath1(string id)
{
    string path = Server.MapPath("/images/" + id + ".jpeg");
    return File(path, "image/jpeg", "下载");
}


public ActionResult ImageContent(string id)
{
    string path = Server.MapPath("/images/" + id + ".jpeg");
    byte[] heByte = null;
    using (FileStream fsRead = new FileStream(path, FileMode.Open, FileAccess.Read))
    {
        int fsLen = (int)fsRead.Length;
        heByte = new byte[fsLen];
        int r = fsRead.Read(heByte, 0, heByte.Length);
    }
    return File(heByte, "image/jpeg");
}
public ActionResult ImageStream(string id)
{
    string path = Server.MapPath("/images/" + id + ".jpeg");
    FileStream fsRead = new FileStream(path, FileMode.Open, FileAccess.Read);

    return File(fsRead, "image/jpeg");

}
JavaScriptResult,
返回一段js,且媒体类型是application/x-javascript,
JsonResult,
返回Json数据,默认ContentType为Application/json.
HttpStatusCodeResult,
具体是通过设置response的StatusCode和StatusDescription来完成输出
RedirectResult,RedirectToRouteResult,
内部是通过Response的Redirect/RedirectPermanent来完成操作,
redirectresult具有两个属性permanent和URL,URL可以是绝对的地址也可以是相对地址,permanent决定了重定向是暂时的还是永久的重定向,
两种重定向的不同点事搜索引擎会根据永久重定向来更新自己的索引,
RedirectToRouteResult较RediretResult多了一步根据路由计算出来这个URL值,
所以RedirectToRouteResult没有URL属性,却包含RouteName以及RouteValues属性,
ViewResult.
ViewResult是一个特殊的ActionResult,但也是最复杂的一个

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
沙发
 楼主| 发表于 2020-6-16 17:12:08 | 只看该作者
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
板凳
发表于 2020-6-17 14:14:34 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
地板
发表于 2020-6-17 14:27:53 | 只看该作者
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
5#
 楼主| 发表于 2020-6-21 17:58:25 | 只看该作者
回复 支持 反对

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
6#
 楼主| 发表于 2020-6-21 17:59:00 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
7#
发表于 2020-6-22 14:00:30 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
8#
发表于 2020-6-22 14:00:34 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-12-23 07:59 , Processed in 0.179293 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表