社区首页 >问答首页 >JSON -将ASP.NET对象返回到视图和“格式为表”

JSON -将ASP.NET对象返回到视图和“格式为表”
EN

Stack Overflow用户
提问于 2019-09-28 09:19:44
回答 1查看 2.9K关注 0票数 0

我有一个由另一个开发人员开发的视图,其中已经有javascript的代码,它应该将JSON对象和格式作为HTML表来处理。

我是MVC的新手,我从Controller创建了一个包含我所需内容的JSON对象。问题是,在我的Controller中,如果我只返回JSON对象,那么浏览器就会向客户机显示原始的JSON字符串。当我返回一个JSON对象时,浏览器只显示JSON,而实际上没有调用我的视图,该视图具有处理JSON的代码,并使其对用户友好。

这是我的控制器:

代码语言:javascript
代码运行次数:0
复制
        public JsonResult GetPlayerNameByID(int playerID)
        {
            var player = GetPlayerByID(playerID);

            return Json(player, JsonRequestBehavior.AllowGet);
        }

这被称为通过下拉列表的点击事件。该页面的视图如下:

代码语言:javascript
代码运行次数:0
复制
@model FirstApp.Models.PlayerViewModel

<div id="container" class="container">
    <table class="table player">
        <thead>
            <tr>
                <th class="Name">Name</th>
                <th class="Overall">Overall</th>
            </tr>
        </thead>
        <tbody id="tableBody"></tbody>
    </table>

我相信我的问题是控制器不会返回到该视图,而只是一个原始的JSON对象。关于如何返回该视图的任何建议(这是发出调用的视图)。

EN

回答 1

Stack Overflow用户

发布于 2019-09-28 09:25:18

为了返回视图,您需要返回一个视图。类似于:

代码语言:javascript
代码运行次数:0
复制
return View();

或者,如果它需要包括一个模型:

代码语言:javascript
代码运行次数:0
复制
return View(someModel);

但是控制器操作只是返回JSON数据:

代码语言:javascript
代码运行次数:0
复制
return Json(player, JsonRequestBehavior.AllowGet);

你不能两样都还。听起来你有两个选择:

  1. 返回一个以player对象为模型的视图。在这种情况下,视图将直接呈现来自模型的数据,并且不需要JSON或任何与JavaScript有关的内容。(嗯,可能会有,取决于你的观点和你需要做什么。
  2. 有两个控制器操作。一个返回视图,另一个返回JSON数据。客户端JavaScript代码将向第二个操作发出AJAX请求,以获取JSON数据.

你选择哪一个真的取决于你。但是最终您不能从相同的操作返回视图和原始JSON。

为了给出第二个选项的例子,您将有两个操作:

代码语言:javascript
代码运行次数:0
复制
public ViewResult Player(int playerID)
{
    return View(playerID);
}

public JsonResult GetPlayerNameByID(int playerID)
{
    var player = GetPlayerByID(playerID);

    return Json(player, JsonRequestBehavior.AllowGet);
}

第一个方法将返回您的Player视图(当然,假设您有一个视图),模型中只有一个整数。因此,视图将从该模型类型的声明开始:

代码语言:javascript
代码运行次数:0
复制
@model int

这意味着,在视图代码中,您可以访问变量playerID中的Model。因此,在视图的JavaScript代码中,您可以将其捕获到一个变量中:

代码语言:javascript
代码运行次数:0
复制
let playerID = @Model;

例如,如果playerID值为123,则将客户端呈现为:

代码语言:javascript
代码运行次数:0
复制
let playerID = 123;

从这里开始,您将使用AJAX向@Url.Action("GetPlayerNameByID")发出请求以获取JSON数据。如何做到这一点将取决于您正在使用的JavaScript框架/库(如果有的话),并且有许多在线示例可以用于如何在各种框架和ASP.NET中使用AJAX。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58148659

复制
相关文章
将JSON对象格式化输出(上篇)
(这后面的内容不用看了) 最近在使用Node.js开发项目,由于JavaScript内置了对JSON的支持,自然而然想到了使用JSON编写配置文件。
用户3579639
2018/10/19
2K0
将JSON对象格式化输出(上篇)
将JSON对象格式化输出(breakdown篇)
上篇提到的prettyjson工具,经我改写之后,可以JavaScript对象格式输出缩进排版的JSON格式。如下所示:
用户3579639
2018/10/19
1.9K0
【Python】json 格式转换 ② ( Json 格式简介 | Json 概念 | Json 功能 | 对象 / 数组 格式 | 嵌套格式 | Json 特点 )
Json 的英文全称为 " JavaScript Object Notation " , JavaScript 对象符号 ;
韩曙亮
2023/10/11
3730
ABAP内表数据和JSON格式互转
注:json字符串格式如:jsonstr = '[ {flag: "0",message: "abc"},{flag: "1",message: "abcdddd"}]'.
matinal
2020/11/27
7560
ASP.NET输出JSON格式数据
一直使用WordPress3.1的版本,12月份WordPress发布了3.5的版本,想尝试升级一一下。当然最好是先在本地环境测试通过,然后上传的服务器是最好的方法。操作系统是Windows8 64位,设置基本和操作无关。 按照安装步骤,显示Apache2.2,然后是PHP5.4,最后就是MySQL5.5。安装过程问题还是蛮多了,下面总结如下,基本都是因为少配置了,或者配置不正确导致的。我安装好以上三个软件之后,将下载的WordPress3.5解压后的文件复制到Apache htdocs根目录下。然后在浏览
八哥
2018/01/18
3.6K0
ASP.NET输出JSON格式数据
jackson将json转换为json对象
高久峰
2023/07/02
3310
java格式json和js格式json互转
java格式json和js格式json互转
Java架构师必看
2021/08/03
6.1K0
PHP如何将数据库查询结果输出为json格式
近期做接口的时候需要做到一个操作,将数据库查询结果输出为json格式方便程序调用。 于是在网上看到了两种解法,就此分享出来,供大家学习以及自己日后进行参考。 可将其封装成专门将数据转换成json格式的接口
吃猫的鱼Code
2023/02/02
3.3K0
[C#]Json.NET的动态视图--通过JObject解析json对象
如今JSON应用广泛。用于创建和消费JSON数据的一个流行的库是Json.NET。它提供了多种处理JSON数据的方式,可以直接解析成自定义类,也可以解析成类似于LINQ to XML这样的对象模型,后者被称为LINQ to JSON,它操作的类型通常是JObject、JArray和JProperty。它的使用方式类似于LINQ to XML,通过字符串进行访问,也可以执行动态操作。代码清单4-6使用了两种方式来处理同一个JSON数据。代码清单4-6 动态地使用JSON数据
科控物联
2022/03/29
2.5K0
[C#]Json.NET的动态视图--通过JObject解析json对象
解决scala对象转化为json对象为{}
在使用scala中的样例类时,如果要将对象转化为json字符串,需要在每一个属性前面加一个@BeanProperty,这样才能正常输出:
gzq大数据
2021/03/20
2.1K6
Php如何返回json数据(返回json对象或json格式数据)
header(‘Content-Type:application/json; charset=utf-8’);
超级小可爱
2023/02/20
17K0
JSON格式和Ajax简介
在传统模式下,服务器端向客户端的主要响应方式是:转发,或重定向。使用这种模式时,通常,服务器端会向客户端响应某个页面,而这种模式是不利于当前的互联网架构的!因为现在客户端的种类越来越多,例如:电脑上的网页客户端、Android手机APP、iOS手机APP、Android平板电脑、iOS平板电脑、其它智能设备等,不同的设备存在明显的屏幕尺寸差异,如果把同一个网页响应到不同的客户端,是极为不合适的!所以,传统的响应模式只能适用于一些简单的、没有多种客户端的应用场景,例如:不知名的小型网站,内部的办公系统等。
海拥
2021/08/23
1.1K0
java json对象和json字符串互转的方法_将json字符串转换成对象
这个json字符串中包含的数据可以转化为一个List<People>集合,代码如下:
全栈程序员站长
2022/11/09
1.9K0
java生成json格式数据 和 java遍历json格式数据
java 生成json 格式的数据,在需要加入一个创建json的jar包,这个网上有好多,我使用的是org.json的jar包。
全栈程序员站长
2022/07/19
2.8K0
把Excel表的内容转为json格式
一、前言 先说一下我使用Excel表的内容转为json的应用场景,我们是用来处理国际化的时候用到的。 二、具体操作步骤 第一步:选择要转化Excel表的内容(必须是key,value形式的) 图
挑战者
2018/06/29
2.8K0
ECharts折线图渲染json格式数据(格式为数组)
ECharts折线图渲染json格式数据(json格式,为数组) 需要对数组进行循环取值,将取到的值分别赋值给x轴和y轴
王小婷
2021/04/09
3.2K0
ECharts折线图渲染json格式数据(格式为数组)
json几种格式_json的格式
JSON有三种格式,每一种写法都和JS中的数据类型很像,可以很轻松的和JS中的数据类型互相转换
全栈程序员站长
2022/11/04
3K0
json几种格式_json的格式
js如何将json字符串转成json对象_前端json字符串转json对象
JSON字符串: var str1 = ‘{ “name”: “cxh”, “sex”: “man” }’; JSON对象: var str2 = { “name”: “cxh”, “sex”: “man” };
全栈程序员站长
2022/11/08
9.4K0
js将json字符串转换成json对象_json对象转字符串
对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码
全栈程序员站长
2022/11/08
8.2K0
点击加载更多

相似问题

用烧瓶和Ajax将JSON对象返回到视图

20

将Json格式返回到View

510

将JSON格式设置为特定表

12

将JSON格式正确返回到页面

11

将表提取为JSON对象

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档