2012-10-12 2 views
0

RegisterStartupScriptRegisterClientScriptBlock의 차이는 here입니다.
둘 다 사용하여 서버 쪽에서 주입 자바 스크립트 코드를 설명하고있다.
이제 ASP.NET 서버 컨트롤에서 클라이언트 측 스크립트를 주입하고 있지만 클라이언트 스크립트는 외부 JavaScript 파일을 가리키고 있습니다.더 빠른 RegisterStartupScript 또는 RegisterClientScriptBlock은 어느 것입니까?

string jsString="<script src="myscripts.js"></script>" 
ClientScript.RegisterClientScriptBlock(this.GetType(), "JSScriptBlock",jsString); 

나는 RegisterClientScriptBlock를 사용하고,하지만 난 더 빨리 할 RegisterStartupScript를 사용해야합니다 알고 싶어요. 내 경우에 더 빠른 RegisterStartupScript 또는 RegisterClientScriptBlock은 어느 것입니까?
감사합니다.

+1

속도 문제가 있습니까? 그렇지 않다면 왜 속도에 대해 걱정할 것입니까? – sisve

답변

4

The RegisterClientScriptBlock 메서드는 즉시 클라이언트 쪽 스크립트를 below the opening tag of the Page object's element에 삽입합니다. 이 코드는 폼의 요소를 액세스 할 수 없습니다. 그 시점에서 요소가 아직 인스턴스화되지 않았기 때문입니다.

RegisterStartupScript 메서드는 지정된 클라이언트 쪽 스크립트를 before the closing tag of the Page object's element으로 삽입합니다. 이 코드는 폼의 모든 요소에 액세스 할 수 있습니다. 그 때 그 요소는 인스턴스화 되었기 때문입니다.

어떤 방법을 사용할지 선택하는 일은 실제로 페이지를 렌더링 할 때 브라우저가 스크립트를 실행하게하는 "순서"에 달려 있습니다.

관련 문제