2017-01-23 2 views
0

내 ASP.Net MVC 5 프로젝트에서 나는 cshtml 파일을 가지고 있으며 하나의 뷰 모델을 가지고 있습니다. 이제 뷰 모델에서 나는 ajax 호출에 전달해야하는 Temp이라는 문자열 변수를가집니다.ajax 호출을 통해 모델 데이터를 보내는 방법

어떻게 스크립트에서 Temp 변수를 캡처하여 ajax 호출로 보낼 수 있습니까? 개발자 도구에서 TEMP의 값을 볼 수 있습니다. enter image description here

편집

좋아, 나는 이것이 올바른 방법 경우 초보자 내가 확실하지 오전

var e = "@Model.Temp"; 

아래 같은 몇 가지 일을했다. 친절하게 안내 해줍니다.

답변

1

글쎄, 기술적으로, 당신이해야 할 모든이 면도기의 서버 측에 의해 렌더링 된 후에는, 그것이 JS 구문 오류 클라이언트 측을 작성하지 않도록 따옴표로 둘러싸입니다 :

var e = '@Model.Temp'; 

지금 가지고있는 것처럼, 변수의 내용은 JS 코드에 직접 덤프됩니다. 예를 들어 Model.Temp 경우 다음 렌더링 JS 코드의 모습, "foo"이었다 foo이 당신의 JS에 변수로 정의되어 있지 않기 때문에, 그런

var e = foo; 

, 당신은 구문 오류가 발생합니다. 따옴표를 사용하면 다음과 같이 표시됩니다.

var e = 'foo'; 

그냥 JS 문자열로 작성하면됩니다.

그러나 매우 강력하지 않으므로보기에 스크립트를 유지해야합니다. 네임 스페이스 자바 스크립트 변수를 만들기 위해 더 나은 다음 JS 코드에서 나중에 사용할 것 :

당신이 면도기에서 변수 따옴표가 필요 것 같습니다
<script> 
    var MyNamespace = MyNamespace || {}; 
    MyNamespace.MyVariable = '@Model.Temp'; 
</script> 

<!-- other JS code, preferably loaded externally rather than inline --> 
+0

가 정말 고마워요 네임 스페이스 응답. 정말 도움이됩니다. 나는 재미 있고 새로운 것을 오늘 배웠다. :) – Unbreakable

1

:

var e = "@Model.Temp"; 
관련 문제