2010-01-06 2 views
1

JavaScript 코드 codebehind .aspx 페이지에서 javascript 함수를 호출해야합니다. 현재 나는이 구문을 사용하고있어서 오류가 발생합니다.코드 숨김 파일의 RegisterClientScriptInclude 구문 오류

this.Page.ClientScript.RegisterClientScriptInclude 
    ("showalert('invalidusername','password')","/Public/JS/FailLogin.js"); 
+2

왜 Javascript처럼 보이는 것을 키로 사용하고 있습니까? 키가 Javascript로 실행되기를 기대합니까? – Guffa

+0

질문이 완벽하게 유효하기 때문에 이것을 0으로 상향 조정하십시오. 당연히 질문자가이 방법을 사용하는 방법을 알고 있다면 그들은 처음에 질문을하지 않을 것입니다. – Eilon

답변

2

올바른 방법을 사용하고 있지만 Guffa에 따르면 잘못된 매개 변수를 전달하는 것입니다. 대신이 같은

시도 뭔가 :

this.Page.ClientScript.RegisterClientScriptInclude("myKey", 
    "/Public/JS/FailLogin.js"); 

인라인 스크립트를 원하는 경우 또는 :

this.Page.ClientScript.RegisterClientScriptBlock(GetType(), 
    "myKey", "alert('whatever')"); 

또는 좀 더 동적 스크립트에서 통과를 :

string name = "Joe"; 
string script = "alert('Your name is" + name + "')"; 
this.Page.ClientScript.RegisterClientScriptBlock(GetType(), 
    "myKey", script); 

있습니다 마지막 예제에서 대부분 JavaScript 인코딩 name 필드의 값 .NET의 버전에 따라 다음과 같이 할 수 있습니다.

그런 다음 인코딩 된 이름을 "script"변수에 전달하십시오.

JS 파일을 포함하고 새로 포함 된 JS 파일 (스크립트 블록 앞에 스크립트 포함을 렌더링해야 함)에 따라 일부 코드를 실행하려면 두 방법을 모두 호출 할 수도 있습니다.

+0

in my syantax showalert ('invalidusername', 'password') --- 이것은 자바 스크립트 기능입니다. 매개 변수를 전달하는 중입니다. 구문에 의문점이 있습니다. 무엇이 mykey입니까? - 자바 스크립트 funtion – vasanth

+0

"mykey"는 원하는 문자열입니다. ASP.NET에 "이름"을 지정하면 동일한 페이지에 두 번 포함 시키면 복제본이라는 것을 알게되고 한 번만 렌더링합니다. 내 대답을 업데이트하여 스크립트의보다 동적 인 예를 보여주었습니다. – Eilon

+0

여전히 오류가 발생했습니다 이 funtion은 자바 스크립트 파일에 작성했습니다. function showalert (invalidusername, password) { alert ('country'+ invalidusername + ''+ password + 'place'); } 나는 오류가 발생하지만 전화는 : 올바른가요? Page.ClientScript.RegisterClientScriptInclude ("mykey", "/Public/JS/FailLogin.js"); – vasanth