在动作控制器JSON中接收参数

时间:2015-10-23 16:08:45

标签: c# json asp.net-mvc asp.net-mvc-5

在带有Entity Framework 6的ASP.NET MVC 5中,我使用EF的典型MVC控制器模板,并在那里添加自定义操作。

我的想法是从AJAX调用中调用此操作,以动态填充select2下拉列表。

...
    public JsonResult getWarrehouses(string name)
            {
                var warrehouses = from c in db.warrehouses 
                              where c.nom_wrh.Contains(name)
                              orderby c.nom_wrh
                              select new { c.cod_wrh, c.nom_wrh} ;
                return Json(warrehouses.ToList(), JsonRequestBehavior.AllowGet);
            }
...

但是,我不知道如何将参数传递给它,所提供的参数始终为null。如果我输入:http://localhost:[port]/warrehouses/getWarrehouses/somestring,则不会收到参数。 我想如何声明该动作以获得GET参数? 如果我的方法有误,请随意提供替代解决方案。

2 个答案:

答案 0 :(得分:2)

问题可能出在呼唤中。例如: “名称”是您的操作参数的名称;

        $.ajax({
            type: "POST",
            url: @Url.Action("getWarrehouses"),
            data: {
                name: VALUE_TO_PASS

            },
            success: function (data) {

             // Manipulate (data)
            }

答案 1 :(得分:0)

您需要使用邮递员https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en

等浏览器扩展程序

它们可以帮助您获取get / post请求获取/发布请求。与您的参数