【发布时间】:2016-01-23 06:15:25
【问题描述】:
在带有实体框架 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);
}
...
但是,我不知道如何将参数传递给它,提供的参数始终为空。如果我键入:http://localhost:[port]/warrehouses/getWarrehouses/somestring,则未收到参数。 我想如何声明该操作以接收 GET 参数? 如果我的方法有误,请随时提供替代解决方案。
【问题讨论】:
-
如果您在 ASP.NET 中使用 MVC,则将参数添加到您的路由文件中,它应该将匹配的值传递给调用的方法。
-
问题是我打电话的方式。谢谢。
-
要么将参数更改为
string id(即使用默认路由),要么将特定路由添加到您的路由定义中 -url: warrehouese/getWarrehouses/{name}
标签: c# json asp.net-mvc asp.net-mvc-5