首页 新闻 搜索 专区 学院

为什么我在MVC中的Controller中返回一个JsonResult他是在弹出一个下载框?

1
悬赏园豆:30 [待解决问题]

代码

   public JsonResult JsonDemo()
        {

            Models.RGB color = new Models.RGB();
            return Json(color, JsonRequestBehavior.AllowGet);
        }

 

页面

 

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
      <title>JsonDemo</title>
    <script src="../../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $.getJSON("/Home/JsonDemo", {},
            function (data) {
                $(".red").css("color", data.Red);
                $(".blue").css("color", data.Blue);
                $(".green").css("color", dsata.Green);
            });
        });

    </script>
</head>
<body>
    <div>
    <span>This is red text</span>,<span>this is blue</span>and <span>this is green</span>
    </div>
</body>
</html>

 

喔的请求路径是http://localhost:3716/Home/JsonDem

为什么不能返回进入页面而是弹出一个下载框?

问题补充: 请求之后弹出一个下载页面,下载后得到文件的内容正是请求的数据
it男的主页 it男 | 初学一级 | 园豆:170
提问于:2010-08-25 15:12
< >
分享
所有回答(4)
0
jowo | 园豆:2834 (老鸟四级) | 2010-08-25 15:19
都是英文,看不懂
支持(0) 反对(1) it男 | 园豆:170 (初学一级) | 2010-08-25 15:26
public JsonResult JsonDemo() { List<ListItem> list = new List<ListItem>() { new ListItem() { Value = "1", Text = "VA" }, new ListItem() { Value = "2", Text = "MD" }, new ListItem() { Value = "3", Text = "DC" } }; return this.Json(list,JsonRequestBehavior.AllowGet); } http://localhost:4506/Home/GetStateList 这样请求是没有任何问题的,肯定你那个方法有问题,你可以试下
支持(0) 反对(0) jowo | 园豆:2834 (老鸟四级) | 2010-08-25 15:33
打开fiddler监控没有
支持(0) 反对(0) jowo | 园豆:2834 (老鸟四级) | 2010-08-25 15:39
@jowo:我写的是参照这个http://kb.cnblogs.com/page/69951/
支持(0) 反对(0) it男 | 园豆:170 (初学一级) | 2010-08-25 15:43
@jowo:这个是返回的下载文件的内容 {"Red":"#FF0000","Green":"#00FF00","Blue":"#0000FF"}
支持(0) 反对(0) it男 | 园豆:170 (初学一级) | 2010-08-25 15:45
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.UI.WebControls; namespace MvcApplication1.Controllers { [HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Message"] = "Welcome to ASP.NET MVC!"; return View(); } public ActionResult About() { return View(); } public JsonResult JsonDemo() { RGB color = new RGB(); return Json(color,JsonRequestBehavior.AllowGet); } } public class RGB { public string Red = "#FF0000"; public string Green = "#00FF00"; public string Blue = "#0000FF"; } } 一样没有任何问题,你把上面拷到你程序里,我这边访问http://localhost:4506/HOme/JsonDemo可以
支持(0) 反对(0) jowo | 园豆:2834 (老鸟四级) | 2010-08-25 16:15
打印出的结果为:{"Red":"#FF0000","Green":"#00FF00","Blue":"#0000FF"}
支持(0) 反对(0) jowo | 园豆:2834 (老鸟四级) | 2010-08-25 16:16
0

你的环境没问题吧。

Astar | 园豆:40805 (高人七级) | 2010-08-25 15:31
环境,喔用的默认的配置
支持(0) 反对(0) it男 | 园豆:170 (初学一级) | 2010-08-25 15:33
@it男:看看这篇文章里的评论。http://www.cnblogs.com/chsword/archive/2009/03/12/zd_mvc5.html 或许对你有帮助。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-25 18:05
0
二德子 | 园豆:68 (初学一级) | 2013-10-08 22:45
0

我也碰到这个问题,解决了

http://www.cnblogs.com/easy5weikai/p/4137832.html

easy5 | 园豆:204 (菜鸟二级) | 2014-12-02 16:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册