2012-02-17 1 views
1
<script language="javascript" type="text/javascript"> 
    function myjavascriptfn() 
     { 
     //debugger; 
     var strValue= "test"; 
     return strValue 
     } 

내 코드에서이 javascript 함수를 어떻게 호출하고 각각의 반환 값을 사용하여 적절하게 진행해야합니까? 내가 쉽게 읽을 수 있도록 여러 줄에 밖으로 자바 스크립트를 구분했지만 그것은 모두 한 줄에 있어야합니다 :C#에서 자바 스크립트를 호출하고 반환 값을 얻는 방법?

+0

HTML을 구문 분석하고 JS를 추출하여 서버 측에서 실행하는 방법 또는 브라우저에서 JS를 실행하고 결과를 다시 서버로 전달하는 방법을 묻는 중입니까? – Quentin

+0

@Quentin 절대적으로! –

+0

- 그건/또는 질문 중 하나였습니다. 무엇 이니? – Quentin

답변

3

쉽게 자바 스크립트를 선언 할 수는

ScriptManager.RegisterStartupScript(this, this.GetType(), "launchpage", " 
    function javascriptfn() { 
     var strValue= 'test'; 
     return strValue; 
    } 
    document.getElementById('"+HiddenField1.ClientID+"').value = javascriptfn(); 
    document.getElementById('"+saveProgressButton.ClientID+"').click(); 
    ", true); 

메모를 사용하여 클라이언트에서 실행해야합니다.

귀하의 문제는 당신이 가장 가능성이 부분 또는 전체 또는 AJAX로 처리 포스트 백을 (필요합니다, 다시 데이터를 전송, 질문의 두 번째 부분이 함께 제공됩니다.

내가 ASP를에 HiddenField이있는 updatepanel을 추가 그리고 숨겨진 버튼.이 기능에 대한 코드에서 일부 코드가 뒤에 이벤트를 캡처해야했다 무엇이든지와 숨겨진 필드의 값을 채울,

<asp:UpdatePanel ID="responcetable" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:HiddenField ID="HiddenField1" runat="server" /> 
     <asp:Button ID="saveProgressButton" runat="server" Text="Button" CssClass="displaynone" /> 
    </ContentTemplate>   
    <Triggers><asp:AsyncPostBackTrigger ControlID="saveProgressButton" EventName="theeventtodealwiththis" /></Triggers> 
</asp:UpdatePanel> 

그것을 트리거하고 서버 측에서하는

protected void theeventtodealwiththis(object sender, EventArgs e) 
    { 
     // some logic to handle the value returned 
    } 
+0

답장을 보내 주셔서 감사합니다. 내 자바 스크립트에서 나는 이렇게 작동하지 않는 선언으로 flashobject를 호출 할 것입니다 ... 나는 그것을 반환하는 메소드와 유사해야합니다. 어떻게 대답합니까? –

+0

이 솔루션은 @sanguine 주석 2 부에 대답해야하며, 1 부에 대답 할 수 있는지 살펴볼 것입니다. "saveProgressButton"을 클릭하면 "HiddenField1"이 포함될 서버로 다시 보내집니다 HiddenField1.Text에서 액세스 할 수있는 javascriptfn()의 문자열입니다. Flash 객체가 코드에서 AC# 메소드와 통신하도록 하시겠습니까? 아니면 단순히 JavaScript에서 문자열에 응답하는 것입니까? 아니면 여러 가지 JavaScript 메소드가 있습니다. 이 휴식 시간에? – kamui

+0

당신이 나를 chk 보내 주셔서 감사하고 요 응답을 ... 감사합니다 다시 한번 :) –