2013-05-05 3 views
-1

클릭하면 C# function 'send_Click'을 호출하는 링크 버튼이 있습니다. 당신이 볼 수있는포스트 백이 아닌 숨겨진 필드의 값 변경

void send_Click(object sender, EventArgs e) 
    {   
     Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "text_alert()", true); 
     Response.Write(hidAcrobat.Value); 
    } 

, 그것은 자바 스크립트 함수를 호출 "text_alert()"다음과 같습니다 : 여기에 기능은 사용자 입력 및 설정을 받아들이는 메시지 상자를 팝업

function text_alert() { 
      var person = prompt("Additional Comments:", ""); 
      if (person != null && person != "") { 
       document.getElementById('hidAcrobat').value = person; 
      } 
     } 

숨겨진 필드 'hidAcrobat'의 값을이 값으로 설정합니다.

다음 C#으로 돌아 가면 다음 줄은 Response.write (hidAcrobat.Value)입니다. 프롬프트 상자에 hidAcrobat의 기본값을 지정하고 새 값을 지정하지 않습니다. 페이지가 다시 게시되지 않았기 때문에 그 것으로 가정합니다. 어떻게 해결할 수 있습니까?

+0

클라이언트 측과 서버 측의 차이점을 이해해야합니다. 변경중인 값은 클라이언트 쪽입니다. 그래서 서버 측 스크립트에있는 변수의 값은 POST BACK 또는 AJAX를 사용하여 변경할 때까지 변경되지 않습니다 –

+0

어떻게하면 다시 게시 할 수 있습니까? 덕분에 –

+0

당신은 이것을 사용하고있는 실제 사례를 알려주실 수 있습니까? 내가 왜 클라이언트 측에서 변수의 값을 이미 가지고있을 때 response.write()를하고 있는지 이해할 수 없다. –

답변

0

자바 스크립트를 사용하여 클라이언트 측 링크 버튼을 onclick 이벤트로 처리하고 핸들러에서 text_alert() 메소드를 호출하십시오.

클라이언트 쪽 이벤트 처리기를 실행하면 페이지가 다시 게시되고 send_Click 이벤트 처리기에서 수행하는 것처럼 숨겨진 변수에 서버 쪽에서 액세스 할 수 있습니다.

+0

버튼이 C#으로 동적으로 생성 된 경우 어떻게 클라이언트 측에서 onclick 이벤트를 처리 할 수 ​​있습니까? –

0

ModalPopUp을 사용하여 프롬프트 효과를 만든 다음 서버 측에서 쉽게 값을 가져올 수 있습니다.

1

이 쉽게 당신이 어떤 서버 측 이벤트에 숨겨진 필드 값을 사용할 수 있습니다 그 후 그

<script type="text/javascript" language="javascript"> 

    $(document).ready(function() { 

     $('#MainContent_lnkAddToList').live("click", function() { 
      var person = prompt("Additional Comments:", ""); 
      $('[id*="hidAcrobat"]').val(person); 
     }); 
    }); 

처럼 jQuery를에 의해 구현됩니다.

jQuery를 들어

그것은 당신에게 도움이되기를 바랍니다 참조 추가합니다.

관련 문제