最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MVC中Action方法的返回類型介紹

 更新時(shí)間:2022年03月08日 08:29:59   作者:.NET開發(fā)菜鳥  
這篇文章介紹了MVC中的Action方法的返回類型,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

MVC中的Action方法的返回值一般有以下幾種:

類型

s說明

EmptyResult

不進(jìn)行任何操作

ContentResult

將指定內(nèi)容作為文本輸出

JsonResult

輸出JSON字符串

JavaScriptResult

輸出JavaScript

RedirecResult、RedirectToRouteResult

重定向到給定的URL中

FileResult(抽象類)

FilePathResult、FileContentResult、FileStreamResult

文件輸出

ViewResultBase(抽象類)

ViewResult、PartialViewResult

調(diào)用視圖輸出

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
    {
        /// <summary>
        /// 1、返回一個(gè)ViewResult對(duì)象
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            return View();
        }

        /// <summary>
        /// 2、返回一個(gè)json格式的數(shù)據(jù)
        /// </summary>
        /// <returns></returns>
        public ActionResult Json()
        {
            var book = new { BookId = 1, BookName = "MVC框架" };
            return Json(book, JsonRequestBehavior.AllowGet);
        }

        /// <summary>
        /// 3、返回JavaScript
        /// </summary>
        /// <returns></returns>
        public ActionResult JavaScript()
        {
            string js = "<script>alert('Welcome to ASP.NET MVC')</script>";
            return JavaScript(js);
        }

        /// <summary>
        /// 4、返回FilePath
        /// </summary>
        /// <returns></returns>
        public ActionResult FilePath()
        {
            //return File("~/Content/校長(zhǎng) - 帶你去旅行.mp3", "audio/mp3");
            return new FilePathResult("~/Content/校長(zhǎng) - 帶你去旅行.mp3", "audio/mp3");
        }

        /// <summary>
        /// 5、返回FileContent
        /// </summary>
        /// <returns></returns>
        public ActionResult FileContent()
        {
            string content = "Welcome To ASP.NET MVC";
            byte[] contents = System.Text.Encoding.UTF8.GetBytes(content);
            return File(contents, "text/plain");
        }

        /// <summary>
        /// 6、返回FileStream
        /// </summary>
        /// <returns></returns>
        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 開發(fā)環(huán)境下載安裝說明.doc"), FileMode.Open);
            return File(fs, "application/msword");
        }

        /// <summary>
        /// 7、返回 ContentResult
        /// </summary>
        /// <returns></returns>
        public ActionResult ContentResult()
        {
            string content = "<h1>Welcome To ASP.NET MVC</h1>";
            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";
}


<div>
    1.輸出json
    <p>
        @Html.ActionLink("生成Json", "Json");
    </p>

    2.輸出js
    <script src=@Url.RouteUrl(new { action="JavaScript"}) type="text/javascript">

    </script>
    <p>
        @(Url.RouteUrl(new { controller = "home", action = "JavaScript" }));
        @Html.ActionLink("生成JavaScript", "JavaScript");
    </p>

    3.播放音樂
    <p>
        @Html.ActionLink("播放MP3", "FilePath");
    </p>
    4.查看文本文件
    <p>
        @Html.ActionLink("查看文件內(nèi)容", "FileContent");
    </p>
    5.鏈接文件流
    <p>
        @Html.ActionLink("訪問Doc", "FileStream");
    </p>
    6.輸出文本
    <p>
        @Html.ActionLink("輸出文本", "ContentResult");
    </p>
</div>

 請(qǐng)看下面的兩段代碼:

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());
}

有些時(shí)候,我們希望把Action定義成一種更自然的形式,比如我們希望Action Sum2做一個(gè)求和的計(jì)算,傳入的參數(shù)是整數(shù),計(jì)算的結(jié)果也是整數(shù),那么可不可以返回一個(gè)整數(shù)的結(jié)果呢?

如上面的兩個(gè)方法所示,兩個(gè)方法的效果是等價(jià)的,也就是會(huì)把整形的數(shù)據(jù)轉(zhuǎn)換成字符串類型,然后封裝成ContentResult類型,這個(gè)過程是MVC框架自動(dòng)幫助我們完成的。

返回的值

說明

null

EmptyResult

void

EmptyResult

對(duì)象(ActionResult之外的類型)

ContentResult

在Action方法中,任何類型的返回值都是可以的,如果他不是ActionResult類型,會(huì)封裝成ActionResult類型的對(duì)象,如上表所示。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET中使用用戶控件

    ASP.NET中使用用戶控件

    這篇文章介紹了ASP.NET中使用用戶控件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET中Literal與Label控件的區(qū)別

    ASP.NET中Literal與Label控件的區(qū)別

    相信學(xué)ASP.NET的朋友們都會(huì)遇到Literal和Label到底該用那個(gè)的問題,Literal和Label到底有什么不同,其實(shí)簡(jiǎn)單的講就是Literal不會(huì)產(chǎn)生HTML代碼,而Label會(huì)產(chǎn)生一個(gè)span標(biāo)記,下面為大家詳細(xì)講解一下。
    2016-04-04
  • ASP.NET Core讀取配置文件

    ASP.NET Core讀取配置文件

    這篇文章介紹了ASP.NET Core讀取配置文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 那些年,我還在學(xué)asp.net(一) 學(xué)習(xí)筆記

    那些年,我還在學(xué)asp.net(一) 學(xué)習(xí)筆記

    那些年到此,基本學(xué)習(xí)了前端的基本知識(shí),那些年的第四課就是asp.net,當(dāng)然那時(shí)看了很多教程,比如說:天轟穿,當(dāng)然天轟穿說得比較多,如面向?qū)ο螅珻#知識(shí),由于當(dāng)時(shí)上過C++,所以就沒有看這些,直接從asp.net開始,主要是學(xué)習(xí)一下asp.net用到的一些基本控件
    2012-03-03
  • .Net中控件的命名規(guī)則

    .Net中控件的命名規(guī)則

    這篇文章介紹了.Net中控件的命名規(guī)則,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET?MVC模式簡(jiǎn)介

    ASP.NET?MVC模式簡(jiǎn)介

    這篇文章介紹了ASP.NET?MVC模式,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • .Net報(bào)表開發(fā)控件XtraReport介紹

    .Net報(bào)表開發(fā)控件XtraReport介紹

    這篇文章介紹了.Net報(bào)表開發(fā)控件XtraReport,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • ASP.NET Core基礎(chǔ)之請(qǐng)求處理管道

    ASP.NET Core基礎(chǔ)之請(qǐng)求處理管道

    這篇文章介紹了ASP.NET Core的請(qǐng)求處理管道,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • MVC中Action方法的返回類型介紹

    MVC中Action方法的返回類型介紹

    這篇文章介紹了MVC中的Action方法的返回類型,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • ASP.NET?Core中的Razor頁面介紹

    ASP.NET?Core中的Razor頁面介紹

    這篇文章介紹了ASP.NET?Core中的Razor頁面,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02

最新評(píng)論

浦东新区| 海宁市| 贡嘎县| 万载县| 武强县| 靖安县| 双峰县| 莆田市| 喀喇沁旗| 曲周县| 津南区| 萨迦县| 中江县| 广宁县| 安仁县| 阳信县| 临海市| 北票市| 永靖县| 永仁县| 剑阁县| 鄱阳县| 健康| 高台县| 平乐县| 巴彦淖尔市| 富平县| 桂林市| 饶河县| 云南省| 枣阳市| 尖扎县| 永春县| 临桂县| 关岭| 咸宁市| 彝良县| 西乌珠穆沁旗| 加查县| 屏东县| 克什克腾旗|