Asp.net mvc中Controller的返回值

其他资料:https://blog.csdn.net/zgscwxd/article/details/97518190

1)EmptyResult:当用户有误操作或者是图片防盗链的时候,这个EmptyResult就可以派上用场,返回它可以让用户啥也看不到内容,通过访问浏览器端的源代码,发现是一个空内容;

public ActionResult EmptyResult()
{
    //空结果当然是空白了!
    //至于你信不信, 我反正信了
    return new EmptyResult();
}

(2)Content:通过Content可以向浏览器返回一段字符串类型的文本结果,就相当于Response.Write("xxxx");一样的效果;

public ActionResult ContentResult()
{
    return Content("Hi, 我是ContentResult结果");
}  

3)File:通过File可以向浏览器返回一段文件流,主要用于输出一些图片或文件提供下载等;

public ActionResult FileResult()
{
    var imgPath = Server.MapPath("~/demo.jpg");
    return File(imgPath, "application/x-jpg", "demo.jpg");
} 

(4)HttpUnauthorizedResult:通过HttpUnauthorizedResult可以向浏览器输出指定的状态码和状态提示,如果不指定状态码,则默认为401无权访问;

public ActionResult HttpUnauthorizedResult()
{
    //未验证时,跳转到Logon
    return new HttpUnauthorizedResult();
} 

(5)Redirect与RedirectToAction:重定向与重定向到指定Action,我一般使用后者,主要是向浏览器发送HTTP 302的重定向响应;

public ActionResult RedirectToRouteResult()
{
    return RedirectToRoute(new {
        controller = "Hello", action = ""
    });
}

(6)JsonResult:通过Json可以轻松地将我们所需要返回的数据封装成为Json格式

  1.返回list

var res = new JsonResult();
           //var value = "actionValue";
           //db.ContextOptions.ProxyCreationEnabled = false;
           var list = (from a in db.Articles
                       select new
                       {
                           name = a.ArtTitle,
                           yy = a.ArtPublishTime
                       }).Take(5);
           //记得这里要select new 否则会报错:序列化类型 System.Data.Entity.DynamicProxies XXXXX 的对象时检测到循环引用。
           //不select new 也行的加上这句 //db.ContextOptions.ProxyCreationEnabled = false;
           res.Data = list;//返回列表

  2.返回单个对象

var person = new { Name = "小明", Age = 22, Sex = "男" };
          res.Data = person;//返回单个对象;

  3直接返回单个对象

     public JsonResult GetPersonInfo()
        {
            var person = new
            {
                Name = "张三",
                Age = 22,
                Sex = "男"
            };
            return Json(person,JsonRequestBehavior.AllowGet);
        }

res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;//允许使用GET方式获取,否则用GET获取是会报错。

(7)JavaScript:可以通过JavaScriptResult向浏览器单独输出一段JS代码,不过由于主流浏览器都对此进行了安全检查,因此你的JS代码也许无法正常执行,反而是会以字符串的形式显示在页面中;

public ActionResult JavaScriptResult()
{
    string js = "alert(\"Hi, I‘m JavaScript.\");";
    return JavaScript(js);
}  

(8)ActionResult  默认的返回值类型,通常返回一个View对象

[ChildActionOnly]
public ActionResult ChildAction()
{
    return PartialView();
}  

(9)HttpNotFoundResult

public ActionResult HttpNotFoundResult()
{
    return HttpNotFound("Page Not Found");
}  

原文地址:https://www.cnblogs.com/daimaxuejia/p/12503452.html

时间: 2024-10-09 14:30:40

Asp.net mvc中Controller的返回值的相关文章

Spring MVC中 controller方法返回值

1.返回ModelAndView 定义ModelAndView对象并返回,对象中可添加model数据.指定view 2.返回String 1.表示返回逻辑视图名 model对象通过 model.addAttribute("xxx",model)进行设定 2.redirect重定向: redirect重定向特点:浏览器地址栏中的url会变化.修改提交的request数据无法传到重定向的地址.因为重定向后重新进行request(request无法共享) 3.forward页面转发: 通过f

Asp.net MVC 中Controller返回值类型ActionResult

内容转自 http://blog.csdn.net/pasic/article/details/7110134 Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必须是一个public方法 必须是实例方法 没有标志NonActionAttribute特性的(NoAction) 不能被重载 必须返回ActionResult类型 如: [csharp] view pl

在asp.net mvc中使用PartialView返回部分HTML段

问题链接: MVC怎样实现异步调用输出HTML页面 该问题是个常见的 case, 故写篇文章用于提示新人. 在asp.net mvc中返回View时使用的是ViewResult,它继承自ViewResultBase 同一时候它还有个兄弟PartialViewResult 相信聪明的你已经知道了它俩的差别了,没错 一个用于返回总体,还有一个返回局部(部分). 如果我有这样一个需求,输入username,然后返回相关信息.之前的做法可能会是用json格式来返回用户的相关信息,然后到页面去渲染相关 的

(四)ASP.NET MVC 中 Controller 给 View 传递数据的方式

1. ViewData: 以 ViewData["keyname"] = value 这样键值对的方式进行数据传送.在对应的 cshtml 中用 @ViewData["keyname"] 来获取值. 2. ViewBag: ViewBag 是 dynamic 类型的,是对 ViewData 的一人动态类型封装,用起来更方便,和 ViewData 共同操作一个数据 .在 Controller 中使用 ViewBag.keyname=value 来赋值,在 cshtml

ASP.NET MVC中Controller与View之间的数据传递

一.Controller向View传递数据 Controller向View传递数据有3种形式: 1.通过ViewData传递 在Controller里面定义ViewData,并且赋值,比如 ViewData["contact"] = contact; 然后在View里面读取Controller中定义的ViewData数据 比如联系人: <input type="text" value='<%=ViewData["contact"] %

Asp.net MVC中 Controller 与 View之间的数据传递

在ASP.NET MVC中,经常会在Controller与View之间传递数据 1.Controller向View中传递数据 (1)使用ViewData["user"] (2)使用ViewBag.user (3)使用TempData["user"] (4)使用Model(强类型) 区别: (1)ViewData与TempData方式是弱类型的方式传递数据,而使用Model传递数据是强类型的方式. (2)ViewData与TempData是完全不同的数据类型,View

ASP.NET MVC中Controller与View之间的数据传递总结

在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: Ø Controller向View传递数据 Ø View向Controller传递数据 一.Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: ViewData[“Message”] = “Hello word!”; 然后在View中读取Controller中

Asp.net mvc中controller与view间的如何传递数据

1.      Asp.net中的页面指令 无论是在java程序中还是在.net程序中,我们总是会看见一些@指令,那么这些常见指令的作用是什么呢? ?  @Page指令 只能在.aspx页中使用.如果在其他页面中使用会发生编译错误.比较常见的属性有: 1. Language 指出在编译内联代码块和页的<script>节中出现的所有代码时所使用的语言,默认的语言是Visual Basic .NET. 2. AutoEventWireup 指出是否启用页事件.默认为true. VS.NET开发的页

ASP.NET MVC中Controller返回值类型ActionResult

1.返回ViewResult视图结果,将视图呈现给网页 public class TestController : Controller { //必须存在Controller\Test\Index.cshtml文件 public ActionResult Index() { return View(); } } 2. 返回PartialViewResult部分视图结果,主要用于返回部分视图内容 //在View/Shared目录下创建ViewUserControl.cshtml部分视图 publi