我有一個表單,它有一個單擊文本框,在按下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 2012-02-18 18:45:38
可能屬於http://codereview.stackexchange.com/ – 2012-02-18 18:45:48
@DavidGouge:這是否正常?即使可能有更多的地方可能會調用BindRepeater? – Animesh 2012-02-18 18:47:20