textBox onBlur调用服务器方法而不是客户端方法

时间:2012-12-12 06:31:58

标签: asp.net

我正在扩展网络控件。我需要在控件而不是javascript触发的每个事件上调用服务器方法。

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);
    }
}

1 个答案:

答案 0 :(得分:1)

正如我在评论中所说,如果AutoPostBack = "True",TextBox将默认发布,但是,您需要处理您的事件。假设您的TextBox名为TextBox1:

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

摆脱handleLostFocus()或让它成为TextBox控件的处理程序。

祝你好运。