ASP.NET MVC 重點教程一週年版 第五回 ActionResult的其它返回值
阿新 • • 發佈:2018-12-27
我們上邊所看到的Action都是return View();我們可以看作這個返回值用於解析一個aspx檔案。而它的返回型別是ActionResult如
public ActionResult Index() { return View(); }
除了View()之外那我們這裡還能用於返回什麼值呢?
一、ascx頁面
場景:要返回程式碼片斷,比如Ajax返回一個子頁
我們先新建一個Action
public ActionResult Ascx() { returnPartialView(); }
我們下面再建一個View,仍然是在Action中點右鍵,AddView。
於是新建了一個ascx頁,我們將之少做改寫一下
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <div> 得到一個DIV </div>
執行,得到頁面
二、返回文字
除了上述情況,有時我們還會僅返回一段文字。
此時我們可以使用以下Action形式:
public ActionResult Text(){ returnContent("這是一段文字"); }
三、返回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"//檔案型別 ); }
我們下一節講過濾器Filter。