从VUE对象绑定MVC模型

时间:2019-04-17 20:15:47

标签: asp.net-mvc vue.js

我是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}数据类型周围的问题似乎没有任何作用。我希望这是一个快速的答案,因为它必须可行,这远非专门或独特的行动!

0 个答案:

没有答案