MVC Controller return 格式


所看到的Action都是return View();我們可以看作這個返回值用於解析一個aspx文件。而它的返回類型是ActionResult如

public ActionResult Index()
{
return View();
}
除了View()之外那我們這里還能用於返回什么值呢?

一、ascx頁面

場景:要返回代碼片斷,比如Ajax返回一個子頁

我們先新建一個Action

public ActionResult Ascx()
{
return PartialView();
}
我們下面再建一個View,仍然是在Action中點右鍵,AddView。

注意圖中勾選。

於是新建了一個ascx頁,我們將之少做改寫一下

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <div> 得到一個DIV </div>
運行,得到頁面


二、返回文本

除了上述情況,有時我們還會僅返回一段文本。

此時我們可以使用以下Action形式:

public ActionResult Text()
{
return Content("這是一段文本");
}
三、返回Json

有時我們在調用Ajax時還會要求返回對象為Json序列化的結果,如:

public ActionResult ShowJson()
{
var m = new EiceIndexModel{Name = "鄒健",Sex = true};
return Json(m);
}
返回文本:

{"Name":"鄒健","Sex":true}
四、輸出JS文件

大多時候js文件都是靜態的,但有時js文件可能也要動態生成這時我們可以這樣輸出

public ActionResult Js()
{
return JavaScript("var x=0;");
}
我們訪問之,得到一個正常頁面但其Content-Type:application/x-javascript; charset=utf-8

五、頁面跳轉

1.跳轉到Url

public ActionResult rdurl()
{
return Redirect("http://www.baidu.com");
}
2.跳轉到Action

public ActionResult rdaction()
{
return RedirectToAction("Index","Eice");
}
3.跳轉到Routing規則

public ActionResult rdrouting()
{
return RedirectToRoute("Default",//Route名
new{Controller = "Eice",Action = "Index" });
}
六、顯示文件

public ActionResult fn()
{
return File("/Content/site.css"//文件路徑
, "text/css"//文件類型
);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM