我是VUE的新手,并尝试将带有令牌列表的复杂对象发布到MVC c#路由。
我的发帖请求中的“网络”标签显示:
tokens[0][field]: 129
tokens[0][id]: 1
tokens[0][name]: MyPriority
tokens[0][operator]:
tokens[1][field]:
tokens[1][id]: 3
tokens[1][name]: -
tokens[1][operator]: -
MVC控制器显示对象,并显示传递的令牌数。但是,该框架未绑定到传入的属性(字段,ID,名称,运算符)。我不确定是否需要修改MVC部件以进行绑定,或者在发布之前更改JS对象。
MVC控制器是
public ActionResult CreateRule(Rule rule, List<Token> tokens)
Js代码是:
methods: {
saveRule() {
let tokens = [];
debugger;
for (let i = 0; i < this.tokens.length; i++) {
var t = {};
t.field = this.tokens[i].field;
t.id = this.tokens[i].id;
t.name = this.tokens[i].name;
t.operator = this.tokens[i].operator;
tokens.push(t);
}
let newRule = {
id: this.rule.id,
type: this.rule.type,
name: this.rule.name,
field: this.rule.field,
tokens: tokens
};
this.$emit("save-rule", newRule);
},
将所有参数复制到新对象中并不是一种好方法,因此我认为这不是最佳方法。 Vue教程克隆了要发布到服务器的数据。无论如何,MVC读取帖子数据都没有任何区别。
我已经看到人们尝试使用Stringify,但是{... rule}数据类型周围的问题似乎没有任何作用。我希望这是一个快速的答案,因为它必须可行,这远非专门或独特的行动!