如何更好地编写此代码隐藏?

时间:2012-02-18 18:42:46

标签: asp.net code-behind

我有一个表单,它有一个文本框,可以在输入时将一些数据发送到数据库。数据显示在转发器控件的文本框下方。通过在该文本框的TextChanged事件中将数据绑定到转发器,输入数据立即显示在表单上。

在CodeBehind中,我调用BindRepeater方法两次,每次新页面加载一次,文本框的TextChanged事件一次。

如何重写这个只能调用BindRepeater一次并仍能达到同样的效果?

protected void Page_Load(object sender, EventArgs e)
{    
    if (!this.IsPostBack)
    {
        BindRepeater();
    }
}

protected void BindRepeater()
{
    // data retrieval
    // repeater binding 
}

protected void CreateData(string newdata)
{
    // data insert
}

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
    if (TextBox1.Text != string.Empty)
    {
        string _newData = TextBox1.Text.Trim();
        CreateData(_newData);
        BindRepeater();
    }
}

1 个答案:

答案 0 :(得分:1)

使用在文本更改事件之后触发的事件来执行绑定。您现在可以从页面加载事件中删除它。