2013-04-05 124 views
0

我有一些代碼來顯示谷歌地圖。在我的控制,我創建的JavaScript:添加JavaScript代碼來動態查看

MapCode = string.Format("<script type='text/javascript'>init_map('my_map', {0}, {1}, 20)</script>", location.Location.Coordinate.Latitude, location.Location.Coordinate.Longitude) 

但我不能只寫我的看法:

@ Model.MapCode

因爲這只是顯示實際的JavaScript - 沒有按」執行它。

有沒有辦法做到這一點?

回答

1

你可以通過location.Location作爲模型,然後做你的觀點:

<script type='text/javascript'>init_map('my_map', '@Model.Coordinate.Latitude', '@Model.Coordinate.Longitude', 20)</script> 

通過這種方式,你不必從控制器,這始終是不是建立自己的腳本好主意。

2

使用HtmlHelper.Raw()輸出原始HTML而不編碼到視圖。

@Html.Raw(Model.MapCode) 
0

我不認爲混合服務器端和客戶端(JavaScript和C#)代碼是一種很好的做法。

如果您使用的是jQuery,您可以使用jQuery.getScript()。這樣你可以創建AJAX請求來獲取數據,並在AJAX回調中執行該操作。