谷歌地图v3 asp.net MVC 3

本文关键字:MVC net asp v3 谷歌地图 | 更新日期: 2023-09-27 17:50:40

控制器:

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) %>],
    <% } %>];   

我正在尝试使用谷歌地图创建一个基本的经销商定位器。我的多个标记有问题。上面的方法是有效的,但我知道这是错误的。非常感谢您的帮助,谢谢。

谷歌地图v3 asp.net MVC 3

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