标签: jsonresult

JsonResult或Json:要使用哪个?

在ASP.NET MVC 3中,哪个更正确使用:Json()new JsonResult()?要么返回相同的结果.感谢您帮助解决办公室辩论.

asp.net json jsonresult asp.net-mvc-3

11
推荐指数
1
解决办法
2861
查看次数

为JsonResult调用@ Html.Action会更改父模板中的响应类型

我有以下控制器:

public class HelloController
{
    public ActionResult Index()
    {
        return View()
    }

    public ActionResult Hello()
    {
        return Json(new{ greeting = "hello, world!" }, JsonRequestBehavior.AllowGet);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,里面Index.cshtml:

...html stuffs
<script type="text/javascript">
    alert("@Html.Action("Hello")");
</script>
Run Code Online (Sandbox Code Playgroud)

我发现,当我在浏览器中访问此URL时,响应内容类型会application/json; charset=utf-8导致浏览器将html呈现为字符串而不是...网页.

什么是最好的解决方法?

asp.net-mvc content-type jsonresult

11
推荐指数
2
解决办法
3951
查看次数

ASP.Net MVC:如何基于原始Json数据创建JsonResult

具有string包含以下原料的JSON数据(简化为问题的缘故):

  var MyString =  "{ 'val': 'apple' }";
Run Code Online (Sandbox Code Playgroud)

如何创建表示JsonResult对象MyString

我试图使用Json(对象)方法.但它将原始json数据作为字符串处理 - 逻辑:P-.所以返回的HTTP响应如下所示:

"{ 'val': 'apple' }"
Run Code Online (Sandbox Code Playgroud)

而不是给定的原始Json数据:

{ 'val': 'apple' }
Run Code Online (Sandbox Code Playgroud)

这就是我想要实现的目标:

asp.net-mvc serialization json jsonresult

10
推荐指数
1
解决办法
1万
查看次数

从MVC控制器中的JsonResult方法返回JSON

我试图在测试ASP.NET MVC3应用程序中填充ComboBox(Telerik RAD COmboBox).

我在我的ASPX页面上定义了ComboBox,在控制器中我定义了返回JsonResult的动作调用.

我遇到的问题是我使用的Web服务已经将结果集作为JSON字符串返回.如何直接从Webservice传递响应.

以下是代码片段:ASPX页面:

<% Html.Telerik().ComboBox()
                       .Name("cbRefTables")
                       .DataBinding(b => b
                           .Ajax()
                           .Select("GetCALMdata","Common")                    
                       )
                       .Render();
                %>
Run Code Online (Sandbox Code Playgroud)

控制器:称为CommomController

    public JsonResult GetCALMdata()
    {
        CALMwsP.wsCALMSoapClient wsC = new CALMwsP.wsCALMSoapClient("wsCALMSoap");
        string resultset = wsC.GetRefTables("P_1", "P_2", "P_3", "P_4");

        return ??; -- I want to return resultset which is already formatted. 
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc jsonresult telerik-mvc

10
推荐指数
3
解决办法
5万
查看次数

我应该如何从JsonResult控制器返回404?

在ASP.NET MVC5中,我有一个带JsonResult返回类型的控制器.

根据我想要返回404的参数,因为这描述了请求不存在的数据的用户.

我可以,throw new HttpException(404, "message")但鉴于return HttpNotFound()语法,这感觉很脏.当然,这HttpNotFoundResult不起作用,因为不继承JsonResult

我应该如何从JsonResult控制器方法中干净地返回404 ?

jsonresult asp.net-mvc-5

8
推荐指数
1
解决办法
5217
查看次数

Asp.net MVC - Jquery $ .ajax错误回调没有返回responseJSON

我有下面的代码,在开发机器上工作正常,但从远程浏览器调用时却没有...

$.ajax({
  type: 'POST',
  url: '@Url.Action("Action", "Controller")',
  data: { id: id },
  dataType: 'json',
  async: true,
  success: function (data) {
  },
  error: function (jqXHR, status, err) {
    var result = jqXHR.responseJSON;
  }
});
Run Code Online (Sandbox Code Playgroud)

jqXHR.responseJSON对象在从localhost调用时工作,但是当从远程计算机调用时没有,它返回为未定义...有人可以帮助我吗?提前致谢!

在此输入图像描述

asp.net ajax jquery jsonresult

8
推荐指数
1
解决办法
1177
查看次数

如何返回JSON或RedirectToAction?

我有一个Action方法,我要么在一个条件下返回JSON,要么在另一个条件下重定向.我以为我可以从我的方法返回的ActionResult,但这样做会导致错误这样做"不是所有的代码路径返回一个值"

谁能告诉我我做错了什么?或者如何达到预期的效果?

这是下面的代码:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Login(User user)
    {
        var myErrors = new Dictionary<string, string>();
        try
            {


                if (ModelState.IsValid)
                {
                    if (userRepository.ValidUser(user))
                    {
                        RedirectToAction("Index", "Group");
                        //return Json("Valid");
                    }
                    else
                    {
                        return Json("Invalid");
                    }

                }
                else
                {
                    foreach (KeyValuePair<string, ModelState> keyValuePair in ViewData.ModelState)
                    {
                        if (keyValuePair.Value.Errors.Count > 0)
                        {
                            List<string> errors = new List<string>();

                            myErrors.Add(keyValuePair.Key, keyValuePair.Value.Errors[0].ErrorMessage);
                        }

                    }
                    return Json(myErrors);
                }
            }
            catch (Exception)
            {
                return Json("Invalid");
            }

        }
Run Code Online (Sandbox Code Playgroud)

编辑:澄清一下,我已经return RedirectToAction("Index", "Group");按照答案中的建议尝试了,但它没有做任何事情.我正在重定向到的动作中的断点不会被击中.

c# asp.net-mvc redirecttoaction jsonresult

6
推荐指数
1
解决办法
5962
查看次数

从MVC 3 JsonResult获得Prettified JSON

上下文
语言:C#
平台版本:Microsoft .Net Framework 4.0
操作系统:Windows 7 Professional(64位)
约束:Microsoft MVC.Net 3.0

问题
我发现自己现在在浏览器中大量查看JSON,将浏览器指向一个Controller Action或我本地开发服务器上的另一个,并在视觉上解析JSON以确保所有内容都按照我们想要的方式进行格式化.MVC 3序列化程序(或JSON.Net序列化程序)返回的JSON总是返回一个缩小的字符串,所以我结束了这样的事情:

{"Bars":[{"Name":"Ghost Bar","Address":"2440 Victory Park Lane, 33rd Floor, Dallas, TX 75219","OpenDate":"\/Date(1208062800000)\/","Status":"Open"},{"Name":"M-Street Bar","Address":"5628 Sears Street, Dallas, TX 75206","OpenDate":"\/Date(1064811600000)\/","Status":"Closed"},{"Name":"Zephyr\u0027s Lounge","Address":"3520 Greenville Avenue, Dallas, TX 75206","OpenDate":"\/Date(981007200000)\/","Status":"Open"}]}
Run Code Online (Sandbox Code Playgroud)

问题
我真的想找到一种方法,至少在调试期间,让JsonResult被"美化",使它看起来更像这样:

{
  "Bars": [
    {
      "Name": "Ghost Bar",
      "Address": "2440 Victory Park Lane, 33rd Floor, Dallas, TX 75219",
      "OpenDate": "\/Date(1208062800000)\/",
      "Status": "Open"
    },
    {
      "Name": "M-Street Bar",
      "Address": "5628 Sears Street, Dallas, TX 75206",
      "OpenDate": "\/Date(1064811600000)\/",
      "Status": "Closed"
    },
    {
      "Name": …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc json jsonresult

6
推荐指数
1
解决办法
1万
查看次数

如何在MVC的部分视图中返回json?

我有以下代码:

[HttpPost]
public JsonResult Index2(FormCollection fc)
{
    var goalcardWithPlannedDate = repository.GetUserGoalCardWithPlannedDate();
    return Json(goalcardWithPlannedDate.Select(x => new GoalCardViewModel(x)));
}
Run Code Online (Sandbox Code Playgroud)

但我想在部分视图中使用它,我该怎么做?

c# asp.net-mvc json jsonresult asp.net-mvc-3

6
推荐指数
1
解决办法
2028
查看次数

无法将Web.Http.Results.JsonResult隐式转换为Web.Mvc.JsonResult

我在控制器上设置了这个测试方法,以消除它的任何复杂性.基于我从搜索中找到的所有结果,这应该工作.我不确定我在这里缺少什么.

public JsonResult test() 
{
    return Json(new { id = 1 });
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误.

无法将类型'System.Web.Http.Results.JsonResult'隐式转换为'System.Web.Mvc.JsonResult'

c# asp.net-mvc json jsonresult asp.net-mvc-5

6
推荐指数
2
解决办法
2万
查看次数