我试图在Razor里写JS代码,但是不行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<
script
type
=
"text/javascript"
>
//some javascrpt code here to display map etc
//now add markers
@foreach (var item in Model) {
var markerlatLng = new google.maps.LatLng(@(Model.Latitude), @(Model.Longitude));
var title = '@(Model.Title)';
var description = '@(Model.Description)';
var contentString = '<
h3
>' + title + '</
h3
>' + '<
p
>' + description + '</
p
>'
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: latLng,
title: title,
map: map,
draggable: false
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
}
</
script
>
|
解决方法 1:
使用<text>这个伪元素来强制Razor从编译模式返回到内容模式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<script type=
"text/javascript"
>
//some javascrpt code here to display map etc
//now add markers
@foreach (
var
item
in
Model) {
<text>
var
markerlatLng =
new
google.maps.LatLng(@(Model.Latitude), @(Model.Longitude));
var
title =
'@(Model.Title)'
;
var
description =
'@(Model.Description)'
;
var
contentString =
'<h3>'
+ title +
'</h3>'
+
'<p>'
+ description +
'</p>'
var
infowindow =
new
google.maps.InfoWindow({
content: contentString
});
var
marker =
new
google.maps.Marker({
position: latLng,
title: title,
map: map,
draggable:
false
});
google.maps.event.addListener(marker,
'click'
,
function
() {
infowindow.open(map, marker);
});
</text>
}
</script>
|