在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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 }
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 }
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 }
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 }
|
请发表评论