ASP MVC переменная для JavaScript? - PullRequest
       2

ASP MVC переменная для JavaScript?

0 голосов
/ 22 сентября 2010

Я пытаюсь получить расположение устройств для каждого проекта.У меня есть страница, которая показывает карту Google и список всех устройств, которые принадлежат проекту.Мои действия:

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);
  }

Jquery для получения Json:

jQuery().ready(function () {
    $.getJSON("/Project/Map/68", loadMap);

});

Список устройств, принадлежащих проекту, работает следующим образом, но json, очевидно, не работает, потому что идентификаторноль.В jquery, где вы видите 68, это должен быть идентификатор просматриваемого проекта.Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2010

Если в вашем файле global.asax есть маршрут типа

routes.MapRoute(
              "default",
              "{controller}/{action}/{id}",
              new { action = "Index", id = "" }
            );    

, то 68 из вашей ссылки / Project / Map / 68 будет автоматически назначен параметру id по умолчанию обработчиком маршрута.Однако, если ваш вопрос заключается в том, как получить projectID для просмотра, есть несколько вариантов.Самый простой способ - присвоить его ViewData в вашем ActionResult.

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);

});
0 голосов
/ 22 сентября 2010

Передать значение id для просмотра и

$(function () {
    $.getJSON("/Project/Map/<%:Model.Id%>", loadMap);

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...