【发布时间】:2012-02-19 02:47:48
【问题描述】:
我有一个表单,它有一个文本框,可以在按 Enter 时将一些数据发送到数据库。数据显示在转发器控件中的文本框下方。通过将数据绑定到该文本框的 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();
}
}
【问题讨论】:
-
您不想从两个地方调用它的任何特殊原因?代码在我看来没问题!
-
@DavidGouge:这样做是否正常,即使可能有更多的地方可能会调用 BindRepeater?
标签: asp.net code-behind