首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MVC将对象与预期的API匹配

我正在尝试将此模型序列化为API所期望的模型。FirstName和LastName没有问题,但IntendedUse对象不匹配。我也需要它在视图中工作,所以我不确定如何更正模型以匹配API。任何帮助都是最好的。

API需要此表单中的数据

代码语言:javascript
运行
AI代码解释
复制
{
    "FirstName": "1",
    "LastName": "1",
    "SelectedProjectMaterial":
    [
        {   
            "IntendedUse":{
                "Value":47
            },
        }
    ]
}

序列化对象的当前输出

代码语言:javascript
运行
AI代码解释
复制
var json = JsonConvert.SerializeObject(model);

{"FirstName":"1",
 "LastName":"1",
  selectedIntendedUseId":{"Name":null,"Value":47,},
}

模型

代码语言:javascript
运行
AI代码解释
复制
[Display(Name = "* First Name")]
[Required(ErrorMessage = "This field is required.")]
public string FirstName { get; set; }
[Required(ErrorMessage = "This field is required.")]
public string LastName { get; set; }
[Required]
public GenericValues selectedIntendedUseId { get; set; }

视图

代码语言:javascript
运行
AI代码解释
复制
<div>* Intended Use</div>
   @Html.DropDownListFor(
   x => x.selectedIntendedUseId.Value,
   new SelectList(Model.ListOfIntendedUses, "Value", "Name"),
   "-- please select a Intended Use--",
   new { id = "ddlUses", @class = "form-control" }
   )
@Html.ValidationMessageFor(x => x.selectedIntendedUseId.Value)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 21:47:33

创建Dto (查看模型),而不是直接使用域模型,如下所示

模型

代码语言:javascript
运行
AI代码解释
复制
public class ModelDto{
  [Required(ErrorMessage = "This field is required.")]
  public string FirstName { get; set; }
  [Required(ErrorMessage = "This field is required.")]
  public string LastName { get; set; }
  [Required]
  public int selectedIntendedUseId { get; set; }
}

并从您的操作方法或其他方法接收此模型,因此您的视图将如下所示

代码语言:javascript
运行
AI代码解释
复制
@model ModelDto
<div>* Intended Use</div>
@Html.DropDownListFor(x => x.selectedIntendedUseId,
new SelectList(ViewBag.ListOfIntendedUses, "Value", "Name"),
"-- please select a Intended Use--",
new { id = "ddlUses", @class = "form-control" })
@Html.ValidationMessageFor(x => x.selectedIntendedUseId.Value)

你的控制器就会像控制器一样

代码语言:javascript
运行
AI代码解释
复制
[HttpGet]
public IActionResult ControllerAction()
{
ViewBag.ListOfIntendedUses = //Select From DB or whatever
return View();
}

[HttpPost]
public IActionResult ControllerAction(ModelDto model)
{
model.selectedIntendedUseId = //you will get id here, use it for your logic
return View();
}

希望现在清楚了

ajax调用示例

代码语言:javascript
运行
AI代码解释
复制
$.ajax({
    type: "POST",
    url: "/ControllerName/ActionMethodName",
    data: JSON.stringify(formData),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {
    },
    error: function (req, status, error) {

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

https://stackoverflow.com/questions/65743167

复制
相关文章
由主节点配置从节点从而构建集群
主节点 改名字,改为master,hosts 改hadoop的slaves加四个xml slaves是加一个节点就要改一次 从节点 新建hadoop用户,修改权限,赋予权限 ALL =… 改好主机名,按node01 node02……规则 配好ssh,保证可以通信 关防火墙,iptables stop 关selinux 自ssh可以,主对从可以免密ssh 用scp传jdk和hadoop到从节点的tmp目录下 可能会出现权限问题,使用tmp目录则不要紧,文件夹权限问题 配jdk和hadoop的环境变量 新
ZONGLYN
2019/08/08
7920
Jenkins 中的系统,主节点,节点,执行器等概念解释
本篇内容,介绍Jenkins中的系统System,主节点Master,节点Node,代理节点Agent和执行器Executor等概念。
zinyan.com
2023/02/24
1.9K0
Jenkins 中的系统,主节点,节点,执行器等概念解释
Greenplum主节点与数据节点硬件详细信息
$ free -h total used free shared buff/cache available Mem: 125G 6.1G 355M 230M 119G 118G Swap: 15G 0B 15G
小徐
2018/09/20
1.8K0
Greenplum主节点与数据节点硬件详细信息
MPI主节点和子节点master&slaver计算
#include <mpi.h> #define WORKTAG 1 #define DIETAG 2 /* Local functions */ static void master(void); static void slave(void); static unit_of_work_t get_next_work_item(void); static void process_results(unit_result_t result); static unit_result_t do_wor
Pulsar-V
2019/03/12
1.5K0
jquery 元素节点操作 - 创建节点、插入节点、删除节点
前面的篇章对于jquery的元素操作大部分是使用html()的方式来操作,这种直接使用字符串创建的方式也是性能最高的。
Devops海洋的渔夫
2019/05/31
9.2K0
如何在集群里服役新节点、退役旧节点(DataNode)
①准备机器,配置好JDK、hadoop的环境变量,在hdfs-site.xml和yarn-site.xml文件中分别配置NameNode和ResourceManager所在主机名 ②待服役成功后,启动datanode和nodemanager进程即可 ③服役了新的DN节点后,可以执行再平衡的命令,这个命令可以将集群中块进行重新平衡分配,实现负载均衡: ./start-balancer.sh
孙晨c
2020/07/14
8440
js|jq获取兄弟节点,父节点,子节点
08.19自我总结 js|jq获取兄弟节点,父节点,子节点 一.js var parent = test.parentNode; // 父节点 var chils = test.childNodes; // 全部子节点 var first = test.firstChild; // 第一个子节点 var last = test.lastChile; // 最后一个子节点  var previous = test.previousSibling; // 上一个兄弟节点 var next = test.next
小小咸鱼YwY
2019/09/11
15.4K0
如何判断 Oracle RAC 中的 Master 主节点
先来说一下前面发布的文章【Oracle 通过 SQL 语句查看数据库服务器 IP 地址】看着阅读量还不错,故有了这篇更文。
JiekeXu之路
2021/12/15
1.4K0
如何判断 Oracle RAC 中的 Master 主节点
jquery 获取元素(父节点,子节点,兄弟节点)
1、jquery 获取元素(父节点,子节点,兄弟节点) $("#test1").parent(); // 父节点 $("#test1").parents(); // 全部父节点 $("#test1").parents(".mui-content"); $("#test").children(); // 全部子节点 $("#test").children("#test1"); $("#test").contents(); // 返回#test里面的所有内容,包括节点和文本 $("#test").content
biaoblog.cn 个人博客
2022/08/11
5.8K0
php获取所有节点的父节点和子节点
根据子节点获取所有的父节点以及父节点的父节点.. <?php $src = '[{"id":"1","name":"媒体(白名单)","pid":"0"},{"id":"2","name":"党媒公
黄啊码
2020/05/29
6.4K0
如何使用xnLinkFinder发现目标网络中的节点
xnLinkFinder是一款基于Python 3开发的网络节点发现工具,在该工具的帮助下,广大研究人员只需要提供一个目标网络地址,xnLinkFinder就能够发现其中的网络节点。
FB客服
2022/11/14
1.6K0
如何使用xnLinkFinder发现目标网络中的节点
区块链中的全节点与轻量级节点
在加密货币中,任何联接到网络的计算机都被称为节点。在区块链中,存在冗余备份现象。也就是说,假定全部节点都需求保存全网的全部生意等数据信息,必然会呈现一些坏处。例如,假定用户想要为项目开发创立自己的区块链节点,他们不需求参与一同过程,那么数据同步将是一项特别巨大的使命,既需求时间,也需求资源。 全部节点: 在比特币中,有一种节点叫做全节点,不只存储全网的生意数据,还能够完毕相关验证生意,独立完毕与对等节点的联接。也就是说,这类节点在本地坚持了一个无缺的区块链网络,在这个网络上能够进行任何查询、生意验证和广播。由于这种节点的存在,去中心化成为可能,区块链网络更加安全。 永久在线,最重要的是参与发掘,找到最长的规则链,辨认分叉。 轻量级节点 在区块链网络中,merkle-tree保存当时块中全部事务的根哈希,它存储在块头中。事务内容的任何改动都将改动根散列,然后改动区块链结构而且不被节点辨认。轻量级节点不需求保存全部事务内容。运用merkle树的特性,只需求包括块头和与自身相关的生意明细,经过Merkle证明判别生意是否在当时区块链生意列表中。 轻量级节点并不总是在线。与全节点不同,它们只能检测哪个是最长的链,但无法知道是否是最长的合法链,由于轻量级节点无法验证大多数生意的合法性,也无法验证区块链网发布的区块的正确性。
v-longbatuiguang2
2022/05/05
2.4K0
区块链中的全节点与轻量级节点
tron-节点-FullNode节点启动
这种方式最简单,不过一般使用区块链的开发者都需要debug代码,所以一般在部署的时候使用脚本启动。 需要用到的文件,都可以从 java-tron 这个项目中获得。
潇洒
2023/10/23
1.1K0
tron-节点-FullNode节点启动
MySQL 5.7 MGR单主确定主节点方法
MySQL 5.7 MGR单主确定主节点是哪个,我们可以通过成员ID来判断,然后结合read_only参数来确认。
星哥玩云
2022/08/18
6010
XML中节点类型
该 Node 接口是整个文档对象模型的主要数据类型。它表示该文档树中的单个节点。当实现 Node 接口的所有对象公开处理子节点的方法时,不是实现 Node 接口的所有对象都有子节点。例如,Text 节点可能没有子节点,且将子节点添加到这样的节点将导致引发 DOMException。
sr
2018/08/20
1.2K0
XML中节点类型
Redis中Sentinel节点
因为Sentinel节点是一个特殊的Redis节点,所以它有自己的专属API。下面我们详细介绍一下Sentinel节点的API使用。
吉林乌拉
2019/11/06
1.1K0
Redis中Sentinel节点
5. 安装k8s的master节点和worker节点
B站视频地址: 5.1k8s-搭建master节点_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
suveng
2020/02/14
2.1K0
Oracle单节点RAC添加节点
环境:RHEL 6.5 + Oracle 11.2.0.4 单节点RAC 需求:单节点RAC添加新节点
星哥玩云
2022/08/16
2.1K0
tron-节点-轻节点搭建
轻节点,只包含部分数据,节点轻量化,所以叫轻节点,BTC、ETH都支持轻节点功能,在tron网络中轻节点数据,只保留一天的数据,从这一天的数据为起点,同步后续数据。 开发一般使用轻节点来进行开发和调试是比较方便的,全量数据需要很大的磁盘空间。
潇洒
2023/10/20
1K0
tron-节点-轻节点搭建
实验:Oracle单节点RAC添加节点
环境:RHEL 6.5 + Oracle 11.2.0.4 单节点RAC 需求:单节点RAC添加新节点
Alfred Zhao
2019/05/24
4K0

相似问题

如何在amcharts4中更改文本的值/类别颜色?

110

更改文本样式,如颜色、文本样式、大小等。通过更改样式文件来编程

21

用amcharts4破坏样式

10

当输入有文本时更改标签样式

21

在标签中显示文本,如注释

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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