2011-04-19 63 views
1

控制器:谷歌地圖V3 asp.net MVC 3

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

我試圖創建一個使用谷歌地圖一個基本的經銷商查詢。 我遇到了多個標記問題。 上述作品,但我知道這是錯誤的。 非常感謝幫助,謝謝。

回答

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