2011-01-31 3 views
43

asp.net 페이지로 자바 스크립트를 작성했습니다.코드 숨김에서 javascript 함수를 호출하는 방법

코드 숨김

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
    Handles Me.Load 
     If Session("My")= "Hi" Then 
      I want to call "Myfunction" javascript function 
     End If 
End Sub 

에서 Asp.net 페이지

<HTML> <HEAD> 
    <script type="text/javascript"> 
     function Myfunction(){ 
      document.getElementId('MyText').value="hi"; 
     } 
     </script> 
</HEAD> <BODY> 
<input type="text" id="MyText" runat="server" /> </BODY> 

에서

내가 어떻게 할 수 있습니까? 그 일의

+1

[코드 숨김에서 javascript 함수를 호출하는 방법] 가능한 복제본 (http://stackoverflow.com/questions/4847819/how-to-call-javascript-function-from-code-behind) – outis

+2

코드 숨김에서 함수를 호출하거나 페이지로드시 함수를 실행 하시겠습니까? 나는 그것이 당신이 원하는 마지막 대안이라고 생각합니다. –

답변

34

이것은 코드 뒤에서 하나 이상의 자바 스크립트 메소드를 호출하는 방법입니다. 스크립트 관리자를 사용하여 메소드를 순서대로 호출 할 수 있습니다. 아래의 예제를 고려하십시오.

ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", 
    "$(document).ready(function(){EnableControls(); 
    alert('Overrides successfully Updated.');DisableControls();});", true); 

이 첫 번째 방법에서 EnableControls()가 호출됩니다. 다음으로 경고가 표시됩니다. 다음으로 DisableControls() 메서드가 호출됩니다.

63

한 가지 방법은 사용하는 것입니다 ClientScriptManager :

Page.ClientScript.RegisterStartupScript(
    GetType(), 
    "MyKey", 
    "Myfunction();", 
    true); 
+0

가장 좋은 방법은 당신 것이지만, "MyKey"는 무엇입니까? –

+4

키는 동일한 스크립트를 두 번 발행하지 않도록하는 고유 한 식별자입니다. 그것은 무엇이든 될 수 있습니다. – Jacob

12

당신이 할 수있는 아주 간단한 방법이 있습니다. 코드 뒤에서 레이블 컨트롤에 자바 스크립트 코드를 주입하는 작업입니다. http://softmate-technologies.com/javascript-from-CodeBehind.htm (죽은) 인터넷 아카이브에서
링크 : https://web.archive.org/web/20120608053720/http://softmate-technologies.com/javascript-from-CodeBehind.htm 여기에 전체 코드

<head runat="server"> 
    <title>Calling javascript function from code behind example</title> 
     <script type="text/javascript"> 
      function showDialogue() { 
       alert("this dialogue has been invoked through codebehind."); 
      } 
     </script> 
</head> 

..........이

lblJavaScript.Text = "<script type='text/javascript'>showDialogue();</script>"; 

체크 아웃 : 여기 샘플 코드는

+2

불행히도 링크가 깨졌습니다 :-( –

+0

이 솔루션을 사랑함 - 거의 속임수처럼 느껴짐 모든 시나리오에 맞지 않을 수도 있지만 작동하지 않을 경우를 생각하기가 어려울 것 같습니다. – cymorg

관련 문제