網站首頁 編程語言 正文
MVC中的Action方法的返回值一般有以下幾種:
類型 |
s說明 |
---|---|
EmptyResult |
不進行任何操作 |
ContentResult |
將指定內容作為文本輸出 |
JsonResult |
輸出JSON字符串 |
JavaScriptResult |
輸出JavaScript |
RedirecResult、RedirectToRouteResult |
重定向到給定的URL中 |
FileResult(抽象類) FilePathResult、FileContentResult、FileStreamResult |
文件輸出 |
ViewResultBase(抽象類) ViewResult、PartialViewResult |
調用視圖輸出 |
Controller控制器代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.IO; namespace MvcActionReturnType.Controllers { public class HomeController : Controller { ////// 1、返回一個ViewResult對象 /// ///public ActionResult Index() { return View(); } /// /// 2、返回一個json格式的數據 /// ///public ActionResult Json() { var book = new { BookId = 1, BookName = "MVC框架" }; return Json(book, JsonRequestBehavior.AllowGet); } /// /// 3、返回JavaScript /// ///public ActionResult JavaScript() { string js = ""; return JavaScript(js); } /// /// 4、返回FilePath /// ///public ActionResult FilePath() { //return File("~/Content/校長 - 帶你去旅行.mp3", "audio/mp3"); return new FilePathResult("~/Content/校長 - 帶你去旅行.mp3", "audio/mp3"); } /// /// 5、返回FileContent /// ///public ActionResult FileContent() { string content = "Welcome To ASP.NET MVC"; byte[] contents = System.Text.Encoding.UTF8.GetBytes(content); return File(contents, "text/plain"); } /// /// 6、返回FileStream /// ///public ActionResult FileStream() { string content = "Welcome To ASP.NET MVC"; byte[] contents = System.Text.Encoding.UTF8.GetBytes(content); FileStream fs = new FileStream(Server.MapPath("~/Content/2 開發環境下載安裝說明.doc"), FileMode.Open); return File(fs, "application/msword"); } /// /// 7、返回 ContentResult /// ///public ActionResult ContentResult() { string content = " Welcome To ASP.NET MVC
"; return Content(content); } public ActionResult About() { ViewBag.Message = "Your application description page."; return View(); } public ActionResult Contact() { ViewBag.Message = "Your contact page."; return View(); } } }
視圖代碼如下:
@{ ViewBag.Title = "Home Page"; }1.輸出json@Html.ActionLink("生成Json", "Json");
2.輸出js@(Url.RouteUrl(new { controller = "home", action = "JavaScript" })); @Html.ActionLink("生成JavaScript", "JavaScript");
3.播放音樂@Html.ActionLink("播放MP3", "FilePath");
4.查看文本文件@Html.ActionLink("查看文件內容", "FileContent");
5.鏈接文件流@Html.ActionLink("訪問Doc", "FileStream");
6.輸出文本@Html.ActionLink("輸出文本", "ContentResult");
?請看下面的兩段代碼:
public int Sum(int num1, int num2) { int sum = num1 + num2; return sum; } public ActionResult Sum2(int num1, int num2) { int sum = num1 + num2; return Content(sum.ToString()); }
有些時候,我們希望把Action定義成一種更自然的形式,比如我們希望Action Sum2做一個求和的計算,傳入的參數是整數,計算的結果也是整數,那么可不可以返回一個整數的結果呢?
如上面的兩個方法所示,兩個方法的效果是等價的,也就是會把整形的數據轉換成字符串類型,然后封裝成ContentResult類型,這個過程是MVC框架自動幫助我們完成的。
返回的值 |
說明 |
---|---|
null |
EmptyResult |
void |
EmptyResult |
對象(ActionResult之外的類型) |
ContentResult |
在Action方法中,任何類型的返回值都是可以的,如果他不是ActionResult類型,會封裝成ActionResult類型的對象,如上表所示。
原文鏈接:https://www.cnblogs.com/dotnet261010/p/8887212.html
相關推薦
- 2022-08-28 Go讀寫鎖操作方法示例詳解_Golang
- 2022-08-28 failed to configure a datasource: ‘url‘ attribute
- 2022-01-09 el-tree同級節點可選擇 其他節點及父節點禁用
- 2022-08-19 SpringMVC異常處理器
- 2023-01-21 Python?sklearn中的K-Means聚類使用方法淺析_python
- 2022-07-14 Python?socket如何實現服務端和客戶端數據傳輸(TCP)_python
- 2022-03-16 linux下FastDFS搭建圖片服務器_Linux
- 2022-08-05 C語言示例講解switch分支語句的用法_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支