首页 > 解决方案 > 从表单发布复杂数据。JS ==> ASP.NET MVC 5

问题描述

我有复杂的字符串,文件形式。我正在向这个表单添加一些 JSON/对象。在控制器中我无法处理我添加的对象(产品),你可以在下面看到它。

楷模

模型 1. MyData

    public string SomeThing { get; set; }
    public IEnumerable<Product> Products { get; set; }
    public IEnumerable<HttpPostedFileBase> Files { get; set; }

模型 2. 产品

    public int Id { get; set; }
    public int Count { get; set; }

控制器

    [System.Web.Http.HttpPost]
    public HttpStatusCodeResult GetData(MyData data) <== SomeThing-OK.Files-OK,Products-Products[0] 
    {
       //logic
    }

JS。我正在使用 Vue fetch API,但这不是一个交易。当我使用 JQuery 时也会发生同样的想法。

    let form = new FormData(this.$refs.myForm);
    form.append('Products', [{ 'Id': 1, 'Count': 2 }])  <== In controller I always get Products[0] =(
    fetch('/GetData', {
            method: 'post',
            body: form
            })
          })

我完全糊涂了。我不想拒绝使用 FormData()。我可以用它轻松处理文件。但是如果我不使用 JSON(stringify),我的控制器看不到任何复杂的(Products) 对象。我将不胜感激任何建议。

标签: javascriptasp.netasp.net-mvcpostfetch-api

解决方案


推荐阅读