控制器-各种ActionResult【1】

本文详细介绍了ASP.NET MVC框架中的Controller相关技术,包括ContentResult、EmptyResult、FileContentResult、FilePathResult、FileStreamResult、HttpUnauthorizedResult、JavaScriptResult、JsonResult、RedirectResult、RedirectToRouteResult、PartialViewResult和ViewResult等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<1>

MVC笔记 Controller相关技术

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.IO;

namespace DemoRC.Controllers
{
    public class DemoController : Controller
    {

        /// <summary>
        /// http://localhost:1847/Demo/ContentResultDemo
        /// </summary>
        /// <returns>返回一个字符串</returns>
        public ActionResult ContentResultDemo()
        {
            string contentString = "ContextResultDemo! 请查看 Controllers/DemoController.cs文件,里面包含所有类型ActionResult的用法.";
            return Content(contentString);
        }

        /// <summary>
        /// http://localhost:1847/Demo/EmptyResultDemo
        /// </summary>
        /// <returns>返回一个空的结果</returns>
        public ActionResult EmptyResultDemo()
        {
            return  new EmptyResult(); //空方法;一般情况下用在一些非法请求。比如,防盗链,站内图片,等等。
        }

        /// <summary>
        /// http://localhost:1847/Demo/FileContentResultDemo
        /// </summary>
        /// <returns>将一个字节数组作为一个文件返回到前台</returns>
        public ActionResult FileContentResultDemo()
        {
            //初始化一个文件流(即:创建一个文件流)
            FileStream fs = new FileStream(Server.MapPath(@"/resource/Images/1.gif"), FileMode.Open, FileAccess.Read);

            //定义一个数组,这个数组的长度就是文件流的长度
            byte[] buffer = new byte[Convert.ToInt32(fs.Length)];

            //通过文件流fs,将1.gif这个文件读到buffer数组中
            fs.Read(buffer, 0, Convert.ToInt32(fs.Length) );
            return File(buffer, @"image/gif");
        }

        /// <summary>
        /// http://localhost:1847/Demo/FilePathResultDemo
        /// </summary>
        /// <returns>将一个文件路径返回到前台</returns>
        public ActionResult FilePathResultDemo()
        {
            //可以将一个jpg格式的图像输出为gif格式
            return File(Server.MapPath(@"/resource/Images/2.jpg"), @"image/gif");
        }

        /// <summary>
        /// http://localhost:1847/Demo/FileStreamResultDemo
        /// </summary>
        /// <returns>将一个文件的流返回到前台</returns>
        public ActionResult FileStreamResultDemo()
        {            
            FileStream fs = new FileStream(Server.MapPath(@"/resource/Images/1.gif"), FileMode.Open, FileAccess.Read);
            return File(fs, @"image/gif");
        }

        /// <summary>
        /// http://localhost:1847/Demo/HttpUnauthorizedResultDemo
        /// </summary>
        /// <returns>返回一个未验证的提示;例如:401;验证未通过</returns>
        public ActionResult HttpUnauthorizedResultDemo()
        {
            return new HttpUnauthorizedResult();
        }

        /// <summary>
        /// 这个方法放回一个JavaScript,它只有在异步的情况下使用才是可以成功的,普通的情况下返回的只是一个字符串
        /// </summary>
        /// <returns>返回一个JavaScript代码</returns>
        public ActionResult JavaScriptResultDemo()
        {
            return JavaScript(@"alert(""Test JavaScriptResultDemo!"")");
        }

        /// <summary>
        /// http://localhost:1847/Demo/JsonResultDemo
        /// </summary>
        /// <returns>返回一个Json的结果</returns>
        public ActionResult JsonResultDemo()
        {
            var tempObj = new { Controller = "DemoController", Action = "JsonResultDemo" };
            //return Json(tempObj);
            return Json(tempObj, JsonRequestBehavior.AllowGet);//JsonRequestBehavior.AllowGet:允许来自客户端的Http的Get请求
        }

        /// <summary>
        /// http://localhost:1847/Demo/RedirectResultDemo
        /// </summary>
        /// <returns>返回一个重定向;表示定位到另外一个URL</returns>
        public ActionResult RedirectResultDemo()
        {
            return Redirect(@"http://localhost:1847/Demo/ContentResultDemo");
        }

        /// <summary>
        /// http://localhost:1847/Demo/RedirectToRouteResultDemo
        /// </summary>
        /// <returns></returns>
        public ActionResult RedirectToRouteResultDemo()
        {
            return RedirectToAction(@"FileStreamResultDemo");
        }

        /// <summary>
        /// http://localhost:1847/Demo/PartialViewResultDemo
        /// </summary>
        /// <returns></returns>
        public ActionResult PartialViewResultDemo()
        {
            
            return PartialView();

            
        }

        /// <summary>
        /// http://localhost:1847/Demo/ViewResultDemo
        /// </summary>
        /// <returns></returns>
        public ActionResult ViewResultDemo()
        {
            //如果没有传入View名称, 默认寻找与Action名称相同的View页面.
            return View();
        }

    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值