У меня есть форма, которая имеет одно текстовое поле, которое отправляет некоторые данные в базу данных при попадании в нее. Данные отображаются под текстовым полем в элементе управления ретранслятора. Входные данные отображаются в форме немедленно, связывая данные с ретранслятором в событии 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
Вероятно, принадлежит по адресу http://codereview.stackexchange.com/ –
@DavidGouge: Нормально ли это делать, даже если есть больше мест, где может быть вызван BindRepeater? – Animesh