2011-10-05 2 views

답변

1

질문에 답변을하지는 않지만 코드 비헤이비어에 복잡한 자바 스크립트를 넣지 말고 클라이언트와 서버 언어를 혼합해서는 안됩니다. 기껏해야 서버에서 함수 호출을해야하지만 실제 구현은 별도의 javascript 파일 안에 별도의 javascript 함수로 수행됩니다.

SomeModelToPassToTheFunction model = ... 
string json = new JavaScriptSerializer().Serialize(model); 
var script = string.Format("someFunction({0});", json); 
ScriptManager.RegisterStartupScript(this, GetType(), "somekey", script, true); 

아, 이제 당신은 함수 내에서 중단 점을 배치 할 수 있습니다 : 클라이언트와 각 AJAX 호출에 서버하지만 스크립트 사이의 트래픽을 줄일 수이 방법뿐만 캐시됩니다.

+0

코드 숨김에 복잡한 내용이 없습니다. 그러나 내가 디버그하고자하는 함수는 여러 곳에서 호출되며 단일 실행 경로에서만 호출 된 중단 점을 설정할 수 있기를 바랍니다. 나는 이것이 초기 호출을'DebugKludge(); '로 변경하고'function DebugKludge() {FunctionIWantToDebug();'를 호출하는 것보다 덜 kludgy 한 방법이 있었으면 좋겠다. }'를 .js에 추가하면 문제를 쉽게 추적 할 수 있습니다. –

+0

샘플 코드에서 내가 사용하고있는 것과 다른 것을 볼 수 없습니다. 하지만 objectName.functionName()에서 검색 할 때 찾을 수있는 유일한 위치는 거대한 횡설수설 끝에 너무 많은 다른 자바 스크립트가있는 ~ 14k 문자 행입니다. 거기에 다른 모든 것들이 있으면 중단 점이 아마 false positives에 똑같이 묻힐 것입니다. –

관련 문제