2010-01-06 2 views

답변

1

아니요, 맞지 않습니다. 클라이언트 스크립트를 등록 할 때 이 있으면 실행하려는 코드가 들어있는 javascript 파일에 URL을 제공해야합니다. 당신이 원하는 것은 RegisterScriptBlock입니다

<script type="text/javascript" src="your url..."></script>로 즉 렌더링됩니다. 이 방법에서는 generateScriptTags 플래그 (또는 호출 된 값)를 true으로 전달해야합니다.

당신이 스크립트가 포함 스크립트 블록을 등록하려고 같은 의견에 관해서는, 당신이 할 수있는 스크립트를 원하는 것을 정확히 모르겠지만, 외모와

, 편집하는 a)은 실행되지 않으며 b)은 원래 질문의 일부가 아닙니다. 변경해야 할 사항에 대해 단계별로 답장을 시도하겠습니다.

첫 번째 매개 변수 type은 일반적으로 페이지 유형에 대한 참조 여야합니다. 사용자 정의 컨트롤을 사용하는 경우 this.Page.GetType() 페이지로 이동하면 페이지에있는 경우 this.GetType()이면 충분합니다. 어떤 위치에 있든 상관없이 수행 할 수 있습니다. typeof(System.Web.UI.Page)

두 번째 매개 변수는 실제 스크립트를 포함하지 않아야합니다. 그것은 스크립트를 식별하기위한 열쇠 일뿐입니다. 스크립트를 식별 할 수 있기를 원합니다. 예를 들어, 아래 예제와 같이 스크립트가 등록되어 있는지 확인할 수 있습니다. 변수 이름을 선택하는 것처럼 키가 될 수있는 것은 무엇이든 선택할 수 있습니다.

세 번째 매개 변수는 실제 스크립트입니다. 네 번째 매개 변수를 true으로 전달하면 자바 스크립트 일 수 있습니다. 네 번째 매개 변수의 값이 false 인 경우 세 번째 매개 변수에 <script> 태그를 수동으로 포함해야합니다. 이제

if(!ClientScript.IsClientScriptBlockRegistered("CaptchaLogin")) 
    ClientScript.RegisterClientScriptBlock(typeof(Page), "CaptchaLogin", "utility.popupUrl('CaptchaLogin.aspx');", true); 

, 당신은 모든 RegisterClientScriptBlock을 사용할 수 없습니다 스크립트 파일 FailLogin.js을 포함합니다. 원래 게시물에서와 마찬가지로 RegisterClientScriptInclude을 사용해야합니다. 여기서 첫 번째 매개 변수는 단지 키입니다. 스크립트가 전혀 들어 가지 않습니다.

ClientScript.RegisterClientScriptInclude("CaptchaInclude", "/Public/JS/FailLogin.js"); 

나는 당신이 RegisterClientScriptInclude에 URL을 정량화 물결표, ~을 사용할 수 있는지 여부를 잘 모르겠어요 것을 추가해야이, 아마도 당신이 할 수있는 : 두 번째 매개 변수는 포함 할 파일의 URL입니다. 그러나이 대답에 대한 주석에 게시 한 코드 에서처럼 문자열로 사용할 수는 없습니다.

+0

감사합니다, 내가 구문 아래 아직도 내가 가지고 함께 노력 오류 this.Page.ClientScript.RegisterClientScriptBlock (대해서 typeof (문자열), "utility.popupUrl ('CaptchaLogin.aspx')", "<스크립트 언어 = javascript src = '~/Public/JS/FailLogin.js'> ", true); 의견이 – vasanth

+0

내 편집 내역을 참조하십시오. 나는 물건을 깨끗하게하는 것이기를 바란다. –

+0

고마워, 난 팝업 창이있어,하지만 난 diapaly 페이지 페이지의 창 가운데 싶어요.이 모든 것과 전혀 관련이없는 – vasanth

관련 문제