2013-04-05 3 views
0

Google지도를 표시하는 코드가 있습니다. 내 컨트롤러에서 나는 자바 스크립트 작성 :동적으로보기에 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

@

- 아무튼 ' 그것을 실행하지 마십시오.

이 방법이 있습니까?

답변

1

당신은 통과 할 수있는 모델로 location.Location 및보기에이 작업을 수행 좋은 생각.

2

HtmlHelper.Raw()을 사용하면 원시 HTML을 인코딩하지 않고 출력 할 수 있습니다. 당신은 항상 아닌 컨트롤러에서 스크립트를 구축 할 필요가 없습니다 방법으로

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

: 다음

@Html.Raw(Model.MapCode) 
0

서버 측과 클라이언트 측 (자바 스크립트 및 C#) 코드를 혼합하여 사용하는 것이 좋지 않습니다.

대신 jQuery를 사용하는 경우 jQuery.getScript()을 사용할 수 있습니다. 그렇게하면 AJAX 요청을 생성하여 AJAX 콜백에서 데이터를 가져올 수 있습니다.