zoukankan      html  css  js  c++  java
  • MVC4中视图获取控制器中返回的json格式数据

    再开发MVC项目时,有时只需要从控制器中返回一个处理的结果,这时返回Json格式的数据非常的方便,在Controller中,提供了几种返回类型和方法,如:

    Content()

    返回文本类型的ContentResult:,比如“Hello,World!”;

    File()

    返回文件类型的内容FileResult,比如PDF

    HttpNotFound()

    返回包含404HTTP状态码的HttpNotFoundResult.

    JavaScript()::返回JavaSciptResult

    返回包含JavaScript内容的JavaScriptResult,比如:“function hello(){alert("Hello world!")}”

    Json()

    返回JSON格式数据的JsonResult,比如:“{"Message":"Hello world!"}”.我们这边就是要用该方法返回到视图一个json对象

    PartialView()

    返回包含部分视图内容的PartialViewResult,(例如,视图可不包含结局)。

    Redirect()

    返回一个包含302跳转状态值RedirectResult,跳转到给定的URL上。例如,“302 http://www.yh117.com/auctions/recent”.这个方法包含一个同级别的放啊RedirectPermanent(),它同样返回RedirectResult,但是使用的是301状态码去只是一个永久的跳转地址,而不是临时地址。

    RedirectToAction()和RedirectToRoute()

    与Redirect()类似,只有框架可以动态查询路由引擎来确定外部的URL.与Redirect()一样,他们同样包含永久跳转方法:RedirectToActionermanent()和RedirectToRoutePermanent()

    View()

    返回渲染视图的ViewResult()

    综上所述:MVC框架提供了各种情况下需要的操作结果类型,我们可以自由决定使用哪种类型。

    下面是我写的一个例子,返回JSon格式的

    视图中的代码:

    <script>
            function GetJosn()
            {
                alert(1);
                $.get("/Home/BookInfo", {id:"1"}, function (data) {
                    alert(data.Result);
                },"json");
            }
        </script>

    用的是Get方法获取的,这里需要注意的是“json”必须要用引号的,这是jquery语法

     Controller中的中的代码是:

    public JsonResult BookInfo(string id) {
                ResultJsonInfo resultInfo = new ResultJsonInfo();
                resultInfo.Result = true;
                resultInfo.Msg = "好啊";
                return Json(resultInfo,JsonRequestBehavior.AllowGet);
            }

    这里用了一个ResultJsonInfo类的对象,包含返回结果和Message,然后利用JSON()方法返回该对象就行,不需要将该对象转成json格式,同事注意用GET方法获取时,在JSON()方法中一定要指定可以用Get获取,否则会获取不到。

  • 相关阅读:
    CSS实现商城分类导航效果(hover选择器)
    框架设计读书笔记--扩展点设计--组合法
    框架设计读书笔记--扩展点设计--钩子方法
    Ferris教程学习笔记:js示例2.8 求出数组中所有数字的和
    Ferris教程学习笔记:js示例2.7 点击Div,显示其innerHTML
    Ferris教程学习笔记:js示例2.6 百度输入法
    Ferris教程学习笔记:js示例2.5 记住密码提示框
    Ferris教程学习笔记:js示例2.4 鼠标移入改变样式,鼠标移出恢复
    程序最佳的学习方式
    Ferris教程学习笔记:js示例2.3 用循环将三个DIV变成红色
  • 原文地址:https://www.cnblogs.com/si-shaohua/p/3715334.html
Copyright © 2011-2022 走看看