2012-12-12 23 views
0

我正在擴展一個Web控件。我需要調用服務器方法對由控件而不是javascript發起的每個事件。textBox onBlur調用服務器方法而不是客戶端方法

public partial class MyTextBox : RadTextBox, IScriptControl 
{ 
    public MyTextBox() 
    { 
     Attributes.Add("onBlur", "handleLostFocus();"); 
     Attributes.Add("runat", "server"); 
    } 

    public void handleLostFocus() 
    { 
     MyObject obj = new MyObject(); 
     obj.someproperty = this.Text; //or somehow get the user entered text. 

     MyService1 service = new MyService1(); 
     service.sendRequest(obj); 
    } 
} 
+0

而你問的問題是?什麼是你需要的,當你失去對文本框的焦點時做回發? –

+0

是的,確切地說。所以,你說如果我設置AutoPostBack = true,它會起作用嗎? – gangt

+0

通過deafult,如果AutoPostBack設置爲true,TextBox控件將會發布到服務器,它會失去焦點,並且文本框本身會發生更改。 –

回答

1

正如我在我的評論說,文本框將默認後,如果AutoPostBack = "True",但是,你需要處理的事件。假設你的文本框名爲TextBox1的:

protected void TextBox1_TextChanged(object sender, EventArgs e) 
{ 
    string str = TextBox1.Text; 
} 

擺脫handleLostFocus()或有它爲您的TextBox控件的句柄。

祝你好運夥計。

相關問題