我试图在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
|
<scripttype="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 (varitem inModel) { <text> varmarkerlatLng = newgoogle.maps.LatLng(@(Model.Latitude), @(Model.Longitude)); vartitle = '@(Model.Title)'; vardescription = '@(Model.Description)'; varcontentString = '<h3>'+ title + '</h3>'+ '<p>'+ description + '</p>' varinfowindow = newgoogle.maps.InfoWindow({ content: contentString }); varmarker = newgoogle.maps.Marker({ position: latLng, title: title, map: map, draggable:false }); google.maps.event.addListener(marker,'click',function() { infowindow.open(map, marker); }); </text> }</script> |