Google Map v3 asp.net MVC 3 - PullRequest
       2

Google Map v3 asp.net MVC 3

1 голос
/ 19 апреля 2011

Контроллер:

public ActionResult FeaturedDealers()
{
   var featuredDealers = dealerRepository.GetFeaturedDealers().ToList();
      return View(featuredDealers);
}

Просмотр

var locations = [
    <% foreach (var dealer in Model) { %>
    ['<%: dealer.Website %>', <%: String.Format("{0:F}", dealer.Latitude) %>, <%: String.Format("{0:F}", dealer.Longitude) %>],
    <% } %>];   

Я пытаюсь создать базовый локатор дилера с помощью Google Maps.У меня проблемы с несколькими маркерами.Выше работает, но я знаю, что это неправильно.Помощь очень ценится, спасибо.

1 Ответ

1 голос
/ 19 апреля 2011
var locations = <%= Json.Encode(Model.Select(x => new[] { 
    x.Website, 
    String.Format("{0:F}", x.Latitude), 
    String.Format("{0:F}", x.Longitude)  
})) %>;

Очевидно, что было бы преступлением помещать этот оператор Select в представление, поэтому подготовьте вашу модель соответствующим образом в контроллере, прежде чем обрабатывать его в представлении, например:

public ActionResult FeaturedDealers()
{
    var featuredDealers = dealerRepository
        .GetFeaturedDealers()
        .Select(x => new[] 
        {
            x.Website, 
            String.Format("{0:F}", x.Latitude), 
            String.Format("{0:F}", x.Longitude)  
        });
    return View(featuredDealers);
}

и затем:

var locations = <%= Json.Encode(Model) %>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...