日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

[转载]Asp.net MVC中Controller返回值类型

發(fā)布時間:2023/12/19 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载]Asp.net MVC中Controller返回值类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Asp.net MVC中Controller返回值類型

在mvc中所有的controller類都必須使用"Controller"后綴來命名
并且對Action也有一定的要求:

  • 必須是一個public方法
  • 必須是實(shí)例方法
  • 沒有標(biāo)志NonActionAttribute特性的(NoAction)
  • 不能被重載
  • 必須返回ActionResult類型

如:

[csharp]?view plaincopy
  • public?class?MyController?:?Controller??
  • {??
  • ???//?必須返回ActionResult類型??
  • ????public?ActionResult?HelloWorld()??
  • ????{??
  • ????????ViewData["Message"]?=?"Hello?World!";??
  • ????????return?View();??
  • ????}??
  • }??
  • 下面列舉Asp.net MVC中Controller中的ActionResult返回類型
    1、返回ViewResult視圖結(jié)果,將視圖呈現(xiàn)給網(wǎng)頁

    [csharp]?view plaincopy
  • public?ActionResult?About()??
  • ?{??
  • ????return?View();?//?參數(shù)可以返回model對象??
  • ?}??
  • 2、 返回PartialViewResult部分視圖結(jié)果,主要用于返回部分視圖內(nèi)容
    在View/Shared目錄下創(chuàng)建ViewUserControl.cshtml部分視圖
    ??

    [csharp]?view plaincopy
  • public?ActionResult?UserControl()??
  • ?{??
  • ?????ViewBag.Message?=?"部分視圖";??
  • ?????return?PartialView("ViewUserControl");??
  • ?}??
  • ? ? ? ?頁面調(diào)用@ViewBag.Message 將輸出“部分視圖”
    3、 返回ContentResult用戶定義的內(nèi)容類型?

    [csharp]?view plaincopy
  • public?ActionResult?Content()??
  • {??
  • ???return?Content("Test?Content",?"text/html");?//?可以指定文本類型??
  • }??
  • ?頁面輸出“Test Content”;
    此類型多用于在ajax操作中需要返回的文本內(nèi)容
    4、 返回JsonResult序列化的Json對象
    ? ? ??

    [csharp]?view plaincopy
  • public?ActionResult?Json()??
  • ?{??
  • ?????Dictionary<string,?object>?dic?=?new?Dictionary<string,?object>();??
  • ?????dic.Add("id",?100);??
  • ?????dic.Add("name",?"hello");??
  • ?????return?Json(dic,?JsonRequestBehavior.AllowGet);??
  • ?}??
  • 主要用于返回json格式對象,可以用ajax操作;
    注意:需要設(shè)置參數(shù),JsonRequestBehavior.AllowGet,
    否則會提示錯誤:此請求已被阻止,因?yàn)楫?dāng)用在 GET 請求中時,會將敏感信息透漏給第三方網(wǎng)站。
    若要允許 GET 請求,請將 JsonRequestBehavior 設(shè)置為 AllowGet。
    5、返回JavaScriptResult可在客戶端執(zhí)行的腳本

    [csharp]?view plaincopy
  • public?ActionResult?JavaScript()??
  • {??
  • ????string?str?=?string.Format("alter('{0}');",?"彈出窗口");??
  • ????return?JavaScript(str);??
  • }??
  • 但這里并不會直接響應(yīng)彈出窗口,需要用頁面進(jìn)行再一次調(diào)用。
    這個可以方便根據(jù)不同邏輯執(zhí)行不同的js操作
    6、返回FileResult要寫入響應(yīng)中的二進(jìn)制輸出,一般可以用作要簡單下載的功能

    [csharp]?view plaincopy
  • public?ActionResult?File()??
  • ?{??
  • ?????string?fileName?=?"~/Content/test.zip";?//?文件名??
  • ?????string?downFileName?=?"文件顯示名稱.zip";?//?要在下載框顯示的文件名??
  • ?????return?File(fileName,?"application/octet-stream",?downFileName);??
  • ?}??
  • 直接下載test.zip后保存到本地則為"文件顯示名稱.zip"
    7、 返回Null或者Void數(shù)據(jù)類型的EmptyResult?

    [csharp]?view plaincopy
  • public?ActionResult?Empty()??
  • ?{??
  • ?????return?null;??
  • ?}??
  • 返回NULL
    8、重定向方法:Redirect / RedirectToAction / RedirectToRoute

    ? ? Redirect:直接轉(zhuǎn)到指定的url地址

    [csharp]?view plaincopy
  • public?ActionResult?Redirect()??
  • ???????{??
  • ???????????//?直接返回指定的url地址??
  • ???????????return?Redirect("http://www.baidu.com");??
  • ???????}???
  • ? ? RedirectToAction:直接使用 Action Name 進(jìn)行跳轉(zhuǎn),也可以加上ControllerName

    [csharp]?view plaincopy
  • public?ActionResult?RedirectResult()??
  • {??
  • ????return?RedirectToAction("Index",?"Home",?new?{?id?=?"100",?name?=?"liu"?});??
  • }??
  • 也可以帶上參數(shù)
    RedirectToRoute:指定路由進(jìn)行跳轉(zhuǎn)

    [csharp]?view plaincopy
  • public?ActionResult?RedirectRouteResult()??
  • {??
  • ????return?RedirectToRoute("Default",?new?{?controller?=?"Home",?action?=?"Index"});??
  • }??
  • Default為global.asax.cs中定義的路由名稱

    總結(jié)

    以上是生活随笔為你收集整理的[转载]Asp.net MVC中Controller返回值类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。