欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MVC 控制器的action方法输出不同类型的结果

程序员文章站 2022-04-01 23:32:48
在mvc中,控制器方法action有时需要输出不同类型的结果,ui页面接收时有不同的需要 类型...

在mvc中,控制器方法action有时需要输出不同类型的结果,ui页面接收时有不同的需要

类型  说明
 ContentResult Content(String content)  将指定内容作为文本输出,content代表要输出的内容
 JsonResult Json(Object data)  输出Json字符串,data 对应要序列化的对象 
 JavaScriptResult JavaScript(String script)  输出JavaScript 文件,script 表示要输出的 JavaScript 脚本内容
 RedirectResult Redirect(String url)  执行重定向, url 表示重地向的地址 
 RedirectToRouteResult RedirectToRoute(object routeValues)  指行重定向,routeValues 对应路由参数值 
 RedirectToRouteResult RedirectToAction(String actionName)  执行重定向,actionName 对应方法名 
 FilePathResult File(String fileName,String contentType)  输出文件,fileName 对应文件名,contentType 对应输出类型 
 FileContentResult File(byte[] fileContents,String contentType)  输出文件,fileContents 对应文件二进制内容,contentType  对应 输出类型
 FileStreamResult File(Stream fileStream,String contentType)  输出文件 ,fileStream 对应文件流,contentType 对应输出类型 
 ViewResult View(String viewName)  输出试图页,viewName 对应视图名称 
 PartialViewResult PartialView(String viewName)  输出分部视图,viewName 对应视图名称 

如下为简单的代码示例:


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

namespace test1.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Detail()
        {
            return View();
        }
        //页面跳转
        public ActionResult RedirectTest()
        {
            return Redirect("/Home/Detail");
        }

        //页面跳转
        public ActionResult RedirectToRouteTest()
        {
            return RedirectToRoute(new {Controller="Home",action="Detail",id=1,cate="test" });
        }

        //页面跳转
        public ActionResult RedirectToActionTest()
        {
            return RedirectToAction("Detail", new {id=1,cate="test" });
        }

        //输出Json文件
        public ActionResult JsonTest()
        {
            var book = new {bookid=1,bookName="精通ASP.NET.MVC" };
            return Json(book,JsonRequestBehavior.AllowGet);
        }

        //输出JavaScript文件
        public ActionResult JavaScriptTest()
        {
            String js = "alert('Welecome to Asp.net mvc1')";
            return JavaScript(js);
        }

        //按文件路径输出文件
        public ActionResult FilePathTest()
        {
            return File("~/Content/rain.mp3","audio/mp3");
        }

        //对字符串编码并输出文件
        public ActionResult FileContentTest()
        {
            String content = "Welcome to Aso.net mvc!";
            byte[] contents = System.Text.Encoding.UTF8.GetBytes(content);
            return File(contents,"text/plain");
        }

        //对文件流输出文件
        public ActionResult FileStreamTest()
        {
            FileStream fs = new FileStream(
                Server.MapPath("~/Content/Ajax基础教程.pdf"),FileMode.Open);
            return File(fs,"application/pdf");
        }

        //输出简单文本
        public ActionResult ContentTest()
        {
            String content = "<h1>Welcome to Asp.net mvc!</h1>";
            return Content(content);
        }
    }
}