如何将json输出发送到asp.net mvc中查看

Red*_*wan 2 asp.net-mvc json

如何将控制器动作的json输出传递给它的视图?正如我之前尝试发送的那样,我的代码是:

public ActionResult Index()
{
    Guid Id = new Guid("66083eec-7965-4f3b-adcf-218febbbceb3");
    List<TasksToOfficer> officersTasks = tasks_to_officer_management.GetTasksToOfficers(Id);
    return Json(officersTasks)
Run Code Online (Sandbox Code Playgroud)

}

它要求JsonRequestBehavior.AllowJson相似的参数.我知道它是asp.net mvc 2中的新功能,但作为重定向查看有没有发生但要求下载json输出文件.我想在我的jQuery中使用返回的数据.但那里出了问题.如果我删除了参数,则显示错误:
此请求已被阻止,因为在GET请求中使用此信息时,可能会向第三方网站披露敏感信息.要允许GET请求,请将JsonRequestBehavior设置为AllowGet.


如何避免这种情况并获取json数据?

amu*_*rra 6

以下是您要做的事情的示例.首先在您的视图中调用$ .getJSON从操作中获取JSON数据:

 $.getJSON('/Data/StockQuote', function(data) {
    if (data.success) {
       ShowStockQuote(data);                         
    }
 });
Run Code Online (Sandbox Code Playgroud)

然后你的行动将如下所示:

   public JsonResult GetStockQuote()
   {                 
       JsonResult result = new JsonResult()
       {
          Data = new { 
                 lastTradePrice = 50,
                 lastUpdated = "10/1/2010",
                 expirationDate = "10/2/2010",
                 success = true
           },
           JsonRequestBehavior = JsonRequestBehavior.AllowGet
        };

       return result;
   }
Run Code Online (Sandbox Code Playgroud)

一旦JSON数据从您的操作返回到$ .getJSON,您就可以使用数据来访问JSON对象的所有值.所以data.success会给你成功等等.