Asp.net mvc怎么在razor里写js代码

我试图在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>

猜你喜欢

转载自www.cnblogs.com/sjqq/p/9031523.html