c# - 将多个对象从 Angular Controller 发布到 Web API 2

标签 c# asp.net json angularjs asp.net-web-api

我能够从我的 Angular Controller 发送一个原始 json 对象,该对象在我的 web api 方法中反序列化为已知类型。这很棒,但我现在需要能够在同一请求中发送其他参数,这些参数可以是 json 对象或简单类型,如 string 或 int。

我看过诸如this之类的文章这准确地描述了我的问题,但他们是从代码隐藏而不是客户端发送请求。

我尝试构建一个 json 数组并将其发送,但收到以下消息:“无法创建抽象类”

Controller 代码(改编)

var request = {
            params:[]
        };

        request.params.push(jsonObjectA);
        request.params.push({"someString" : "ABCDEF"});

        $http({
            method: 'POST',
            url: targetUri,
            data: request
        })

Web API 方法签名

 public JsonResult TestMethod(JArray request)

这种方法听起来合理吗?如果可以的话,我真的希望避免为每个请求创建 dto 对象。

最佳答案

好的,通过遵循 this article 使其正常工作.

然后我就能够在我的 api 方法签名中使用简单和复杂类型:

public JsonResult MyAction(StonglyTypedObject myObj, string description)

我正在传递数据参数中的值:

 $http({
            method: 'POST',
            url: targetUri,
            data: {
                myObj: myObj,
                description: "desc here"
            }
        }).success(...

这是我能找到的最干净的解决方案,希望它也对您有所帮助。

关于c# - 将多个对象从 Angular Controller 发布到 Web API 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28829124/

相关文章:

c# - 微软办公自动化 : Get notified (Event) when a macro runs

c# - 错误无法将类型'string'隐式转换为'int'-ForEach循环中的迭代器

c# - 如何使用 Web API(cs 或 asp.net)调用 Powershell 脚本

django - 在 django admin 中将 json 文本显示为友好列表

c# - 无法在 C# 中反序列化 JSON 结果。输入字符串格式不正确错误

javascript - 使用 AJAX 将 JSON 转换为 PHP

c# - 在数据库中更新时未保存嵌套的拥有类型

c# - If 和 Else if block 仅运行 Else if

.net - 如何在 ASP.NET MVC 中获取 Web 应用程序的基本 URL?

c# - 不同命名空间中的部分类未被正确识别