2012-08-28 2 views
0

나는콜백 함수에서 인수를 전달하는 방법은 무엇입니까?

나는 텍스트 필드가 콜백 (txtEmail 필드에서 텍스트 값) 이메일을 원하는 :

<asp:TextBox MaxLength="50" runat="server" ID="txtEmail" ClientIDMode="Static" onblur="SendRequest()"></asp:TextBox> 

내 자바 스크립트 처리기 :

<script type="text/javascript"> 
     function SendRequest(arg) { 
      window.UseCallback(arg); 
     } 
</script> 

및 서버 이벤트 핸들러

protected void Page_Init(object sender, EventArgs e) 
{ 
    string cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "GetEmailFromServer", "context"); 
    string cbScript = "function UseCallback(arg, context){" + cbReference + ";}"; 
    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UseCallback", cbScript, true); 
} 

public void RaiseCallbackEvent(string eventArg) 
{ 
    var result = Controller.CheckEmail(eventArg);  // eventArg == undefined 
} 

어떻게 eventArg를 txtEmail.Text로 설정할 수 있습니까?

답변

0

변경이 라인 및 확인

string cbScript = "function UseCallback(arg){" + cbReference + ";}"; 

또는 변경이

<script type="text/javascript">   
     function SendRequest(arg) 
     { 
      window.UseCallback(arg,""); 
     } 
</script> 
+0

죄송합니다, 여전히 나를 도울 수있는 방법을 얻을하지 않는 이유는 무엇입니까? 무엇을 거기에 넣어야합니까? –

+0

이 함수를 사용해 보셨습니까? UseCallback (arg, context) { "+ cbReference +";} 두 개의 매개 변수를 사용하지만 하나를 전달하므로 페이지의 스크립트 블록에 정의됩니다. 두 개의 매개 변수 –

+0

죄송합니다,하지만 그것은 나를 위해 작동하지 않습니다. –

관련 문제