MVC 控制器的action方法输出不同类型的结果
程序员文章站
2024-01-05 20:57:46
在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); } } }