小编Tar*_*hyk的帖子

如何使用 URL 将数据从 javascript 发送到 ASP.NET MVC 控制器

我需要一些帮助。我使用 ASP.NET MVC4 以及 JavaScript 和 Knockout 编写了一个小应用程序,但我无法将数据从 javascript 发送到 MVC 控制器,反之亦然。例如JS部分是这样的:

JavaScript

self.Employer = ko.observable();
self.AboutEmployer = function (id) {
            $.ajax({                    
                    Url.Action("GetEmployer", "Home")
                    cache: false,
                    type: 'GET',
                    data: "{id:" + id + "}",
                    contentType: 'application/json; charset=utf-8',
                    dataType: "json",
                    success: function (data) {
                        self.Employer(data);
                    }
                }).fail(
                function () {
                    alert("Fail");
                });
         };
Run Code Online (Sandbox Code Playgroud)

在 ASP.NET MVC Home Controller 中,我通过 ID 获取雇主并将其作为 Json 返回:

C#

public JsonResult GetEmployer(int id)
    {
        var employer = unit.Repository<Employer>().GetByID(id);
        return Json(employer, JsonRequestBehavior.AllowGet);
    }
Run Code Online (Sandbox Code Playgroud)

我的视图返回另一个控制器(Home/KnockOutView)。我的视图还获取另一个对象,并且根据接收的对象,具有不同的外观:

超文本标记语言

...
<b>About …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net knockout.js

5
推荐指数
1
解决办法
4万
查看次数

在 Web Api 控制器中将 JSON 反序列化为字典

我有这样的 JSON 字符串: '{"1":[1,3,5],"2":[2,5,6],"3":[5,6,8]}'

我想将它发送到 Web Api 控制器而不使用 ajax 请求进行更改:

   $.ajax({
        type: "POST",
        url: "Api/Serialize/Dict",
        data: JSON.stringify(sendedData),
        dataType: "json"
    });
Run Code Online (Sandbox Code Playgroud)

在 Web Api 中,我有这样的方法:

   $.ajax({
        type: "POST",
        url: "Api/Serialize/Dict",
        data: JSON.stringify(sendedData),
        dataType: "json"
    });
Run Code Online (Sandbox Code Playgroud)

并且总是sendedData == null.另一个词:我不知道如何将 JSON 反序列化为(Dictionary<int, List<int>>.

谢谢你的答案。

javascript c# jquery json asp.net-web-api

5
推荐指数
1
解决办法
8431
查看次数

标签 统计

c# ×2

javascript ×2

asp.net ×1

asp.net-web-api ×1

jquery ×1

json ×1

knockout.js ×1