有人可以解釋我的可能選項,當試圖獲得JavaScript內剃刀數據?我正在嘗試向Google地圖添加標記。在javascript中使用剃刀
這似乎工作:
@model IEnumerable<ServicesPortal.Models.MapsPartialModel>
@{
ViewBag.Title = "Home Page";
}
@if (Model != null)
{
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(46.119944, 14.815333),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
addmarker(46.119944, 14.815333);
// and so on...
function addMarker(x, y) {
var location = new google.maps.LatLng(x, y);
var marker = new google.maps.Marker({
position: location,
map: map,
});
}
} google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map" style="width:auto; height:500px"></div>
}
雖然這並不:
@model IEnumerable<ServicesPortal.Models.MapsPartialModel>
@{
ViewBag.Title = "Home Page";
}
@if (Model != null)
{
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(46.119944, 14.815333),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
@foreach (var item in Model)
{
<text>
addMarker(@item.Profile.lat, @item.Profile.lng);
</text>
}
function addMarker(x, y) {
var location = new google.maps.LatLng(x, y);
var marker = new google.maps.Marker({
position: location,
map: map,
});
}
} google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map" style="width:auto; height:500px"></div>
}
編輯:這也沒有工作...
@model IEnumerable<ServicesPortal.Models.MapsPartialModel>
@{
ViewBag.Title = "Home Page";
}
@if (Model != null)
{
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(46.119944, 14.815333),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
@foreach (var item in Model)
{
<text>
addMarker(@Html.Raw(item.Profile.lat), @Html.Raw(item.Profile.lng));
</text>
}
function addMarker(x, y) {
var location = new google.maps.LatLng(x, y);
var marker = new google.maps.Marker({
position: location,
map: map,
});
}
} google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map" style="width:auto; height:500px"></div>
}
編輯:也嘗試了一些變數...不效果。
@model IEnumerable<ServicesPortal.Models.MapsPartialModel>
@{
ViewBag.Title = "Home Page";
}
@if (Model != null)
{
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(46.119944, 14.815333),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
// test
var lat = 46.119944;
var lng = 14,815333;
@foreach (var item in Model)
{
<text>
addMarker(@lat, @lng);
</text>
}
function addMarker(x, y) {
var location = new google.maps.LatLng(x, y);
var marker = new google.maps.Marker({
position: location,
map: map,
});
}
} google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map" style="width:auto; height:500px"></div>
}
我嘗試使用此解決方案,但我失去了一些東西...... Using Razor within JavaScript
它不起作用。即使在使用Html.Raw時也沒有標記可見... – no9
您的調試是否是「foreach」循環?您是否看到模型中的值? –
是的。價值在那裏。即使我讓一些包含相同值的變量也不起作用。 – no9