• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.netMVC之ActionResult

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Action运行完后,回传的值通过ActionResult 类别或者其衍生的类别操作。ActionResult是一个抽象类,因此,Asp.net MVC 本身就实作了许多不同类型的ActionResult的子类别。

ActionResult 子类以及说明:

常用的ViewResult用来回传一个View,即HTML的页面内容;

PartialViewResult用来回传一个View,但是这个View是PartialView;

RedirectResult用来将网页转向其他的网址;

EmptyResult用来返回一个空白的页面;

ContentResult返回一个文字属性(文本内容);

FileResult返回一个二进制的文档;

FileContentResult 返回一个可以下载的二进制文件;

FilePathResult返回一个可以下载的并且制定路径的二进制文件;

FileStreamResult返回一个可以下载的流式文件;

JsonResult返回一个JSON结果;

JavaScriptResult返回一个JavaScript对象。

这些都是继承自ActionResult的类别,也可以用来当做Action 的类型。

但是我们经常在Controller中定义的返回类型为ActionResult, 但是返回的值经常是别的,比如:

 

1 //
2  // GET: /Product/
3  public ActionResult Index()
4 {
5       return View();
6  }


这是以为View返回的对象是ViewResult.

Controller常见的方法Redirect返回的对象是RedirectResult;

RedirectToAction返回的对象是RedirectToActionResult;

RedirectToRoute返回的对象是RedirectToRouteResult;

Json返回的对象是JsonResult;

JavaScriptResult返回的对象是JavaScriptResult;

Content返回的对象是ContentResult;

File返回的对象是FileContentResult、FilePathResult、FileStreamResult等;

下面是几个例子

 返回PartialView

1        public ActionResult ProductList()
2         {
3             ProductBLL productBLL = new ProductBLL(HttpContext.Application["EFConnectionString"].ToString());
4 
5             IEnumerable<Product> products = productBLL.ListProducts();
6 
7             return PartialView("~/Views/InStock/_Products.cshtml",products);
8         }


返回Json

1         public ActionResult RetrieveProduct(int id)
2         {
3             ProductBLL productBLL = new ProductBLL(HttpContext.Application["EFConnectionString"].ToString());
4 
5             Product product = productBLL.RetrieveProduct(id);
6 
7             return Json(product,JsonRequestBehavior.AllowGet);
8         }


返回pdf

1         public ActionResult LoadPdfFile()
2         {
3             string path = @"C:\ZJF\My Team Solutions\Allure\Web\BackOfficeV2\Google_Merchant_Center_快速操作手册.pdf";
4             FileStream stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite);
5 
6             return File(stream, "application/pdf");
7         }

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net页面缓存发布时间:2022-07-10
下一篇:
ASP.NET2.0HttpHandler实现生成图片验证码(转)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap