Json ASP MVC变量到javascript?
我试图获得每个项目的设备位置。我有一个页面,显示了谷歌地图和所有属于一个项目的设备列表。我的行动是:Json ASP MVC变量到javascript?,json,asp.net-mvc-2,variables,Json,Asp.net Mvc 2,Variables,我试图获得每个项目的设备位置。我有一个页面,显示了谷歌地图和所有属于一个项目的设备列表。我的行动是: public ActionResult GoogleMaps(int id) { return View(Project.Find(id).DeviceLocations); } public ActionResult Map(int id) { var map = Project.Find(id).DeviceLocations; Loca
public ActionResult GoogleMaps(int id)
{
return View(Project.Find(id).DeviceLocations);
}
public ActionResult Map(int id)
{
var map = Project.Find(id).DeviceLocations;
Locations l = new Locations();
l.locations = map;
return Json(l, JsonRequestBehavior.AllowGet);
}
获取Json的Jquery:
jQuery().ready(function () {
$.getJSON("/Project/Map/68", loadMap);
});
列出属于项目的设备是这样工作的,但是json显然失败了,因为id为null。在您看到68的jquery中,它应该是正在查看的项目的id。如何实现这一点?将id值传递给查看和
$(function () {
$.getJSON("/Project/Map/<%:Model.Id%>", loadMap);
});
$(函数(){
$.getJSON(“/Project/Map/”,loadMap);
});
如果您的路线像
routes.MapRoute(
"default",
"{controller}/{action}/{id}",
new { action = "Index", id = "" }
);
在global.asax文件中,默认路由处理程序会将链接/Project/Map/68中的68自动分配给id参数。但是,如果您的问题是如何让Projectd查看,则有几个选项。最简单的方法是将其分配给ActionResult中的ViewData
public ActionResult GoogleMaps(int id)
{
ViewData["ProjectID"] = Project.GetCurrentProjectID(id);
return View(Project.Find(id).DeviceLocations);
}
在你看来,你可以写作
jQuery().ready(function () {
$.getJSON("/Project/Map/<%=ViewData["ProjectID"]%>", loadMap);
});
jQuery().ready(函数(){
$.getJSON(“/Project/Map/”,loadMap);
});
很抱歉,我是这样一个笨蛋,但是,我该怎么做呢?对于GoogleMaps视图,我使用了一个操作链接来传递变量,但是对于json,我不能使用它。知道为什么吗?