一、所有的Controller都继承自System.Web.Mvc.Controller
目前ASP.NET MVC3默认提供了多种ActionResult的实现,在System.Web.Mvc命名空间里。
其中ActionResult是一个抽象类,所有一下的Result都继承自它,因此如果一个Action的返回值是ActionResult的话,可以返回以下任意一种类型的值,但是如果限制死了返回值为以下任意一种Result,则只能够返回指定的类型的数据了。
- ContentResult
- EmptyResult
- FileResult
- HttpStatusCodeResult
- HttpNotFoundResult
- HttpUnauthorizedResult
- JavaScriptResult
- JsonResult
- RedirectResult
- RedirectToRouteResult
- ViewResultBase
- PartialViewResult
- ViewResult
public ContentResult Index() { return Content("测试"); //浏览器显示测试 } public EmptyResult Index() { return new EmptyResult(); //浏览器显示空白 } public FileResult Index() { return File(Server.MapPath("~/demo.jpg"), "application/x-jpg", "demo.jpg"); //浏览器直接下载demo.jpg } public HttpNotFoundResult Index() { return HttpNotFound(); //报404错误 } public HttpUnauthorizedResult Index() { return new HttpUnauthorizedResult(); //未授权的页面,跳转到/Account/LogOn } public JavaScriptResult hello() { string js = "alert('你还好吗?');"; return JavaScript(js); //页面显示 alert('你还好吗?');} 并不会执行这个js,要执行这个js可以在任意视图里<script src="@Url.Action("hello")" type="text/javascript"></script> } public JsonResult Index() { var jsonObj = new { Id = 1, Name = "小铭", Sex = "男", Like = "足球" }; return Json(jsonObj, JsonRequestBehavior.AllowGet); //返回一个JSON,可以将此代码输出到JS处理展示 } public RedirectResult Index() { return Redirect("~/demo.jpg"); //可以跳转到任意一个路径 return Redirect("http://www.baidu.com"); return Redirect("/list"); } public RedirectToRouteResult Index() { return RedirectToRoute( //跳转到指定Action new { controller = "Home", action = "GetName" }); } public ViewResult Index() { return View(); //这个是最常用的,返回指定视图 //return View("List"); //return View("/User/List"); } public PartialViewResult Index() { return PartialView(); //部分视图,可以作为一个部分引入另外一个视图中,跟View大致相同 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现