В моем коде мне нужно сделать некоторые textboxes[]
, которые будут получать некоторую информацию из базы данных, однако ее рабочей на 50%Textbox массиву TextChanged не срабатывает должным образом
public static Table tableinfo = new Table();
public static TableRow rowinfo = new TableRow();
public static TextBox[] information = new TextBox[1000];
public static Label[] information1 = new Label[1000];
public static Label[] information2 = new Label[1000];
public static Label[] information3 = new Label[1000];
public static Label[] information4 = new Label[1000];
public static string[] gettext = new string[1000];
public static int textboxes;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
textboxes = 1;
for (int i = 0; i < 1000; i++)
{
Array.Clear(gettext, 0, gettext.Length);
Array.Clear(information, 0, information.Length);
}
}
else
{
}
tableinfo.Controls.Clear();
tableinfo.BorderWidth = 1;
addtextboxes();
placeholder1.Controls.Add(tableinfo);
makeandfilltextboxes();
}
public static void makeandfilltextboxes()
{
for (int i = 0; i < textboxes; i++)
{
gettext[i] = "";
}
for (int i = 0; i < textboxes; i++)
{
gettext[i] = information[i].Text;
//go to database and fetch information
information1[i].text = databaseinformation1[i];
information2[i].text = databaseinformation2[i];
information3[i].text = databaseinformation3[i];
information4[i].text = databaseinformation4[i];
}
}
static void TestForm_TextChanged(object sender, EventArgs e)
{
makeandfilltextboxes();
tableinfo.Controls.Clear();
tableinfo.BorderWidth = 1;
textboxes++;
addtextboxes();
}
public static void addtextboxes()
{
for (int i = 0; i < textboxes; i++)
{
rowinfo = new TableRow();
TableCell cellinfo = new TableCell();
information[i] = new TextBox();
information[i].AutoPostBack = true;
information[i].CausesValidation = false;
information[i].EnableViewState = true;
information[i].Text = gettext[i];
information[i].TextChanged += new EventHandler(TestForm_TextChanged);
rowinfo.Cells.Add(cellinfo);
cellinfo.Controls.Add(information[i]);
tableinfo.Controls.Add(rowinfo);
TableCell cellinfo1 = new TableCell();
information1[i] = new Label();
information1[i].EnableViewState = true;
information1[i].Text = databaseinformation1[i];
rowinfo.Cells.Add(cellinfo1);
cellinfo.Controls.Add(information1[i]);
tableinfo.Controls.Add(rowinfo);
TableCell cellinfo2 = new TableCell();
information2[i] = new Label();
information2[i].EnableViewState = true;
information2[i].Text = databaseinformation2[i];
rowinfo.Cells.Add(cellinfo2);
cellinfo.Controls.Add(information2[i]);
tableinfo.Controls.Add(rowinfo);
TableCell cellinfo3 = new TableCell();
information3[i] = new Label();
information3[i].EnableViewState = true;
information3[i].Text = datbaseinformation3[i];
rowinfo.Cells.Add(cellinfo3);
cellinfo.Controls.Add(information3[i]);
tableinfo.Controls.Add(rowinfo);
TableCell cellinfo4 = new TableCell();
information4[i] = new Label();
information4[i].EnableViewState = true;
information4[i].Text = databaseinformation4[i];
rowinfo.Cells.Add(cellinfo4);
cellinfo.Controls.Add(information4[i]);
tableinfo.Controls.Add(rowinfo);
}
}
Так как вы можете видеть, я заполняя массив значением, которое вы заполнили в информации [i] о значении, которое я там просматриваю в базе данных, если я что-то могу найти. все это отлично работает. Единственная проблема заключается в том, что information[i].TextChanged += new EventHandler(TestForm_TextChanged);
вызывается странным образом.
1-й раз при вводе текстового поля является пожары 2-й раз, когда он не уволил 3-й раз он стреляет 4-й раз, когда он не стрелял и так далее
Если я могу огонь.Пушка TestForm_TextChanged
каждый раз проблема будет исправлена.
У меня также есть некоторые флажки, у которых есть обработчик событий checkchanged, которые показывают информацию на руке, проверены или нет, это вызывает некоторые проблемы. im работает в обновленной панели и имеет сценариста на моем aspx desinger. что вызывает эту проблему?
С Google chrome я могу использовать ENTER, и он будет работать все время. Но ввод не работает в Internet Explorer.
ПРИМЕЧАНИЕ: КОД, КОТОРЫЙ Я ОТПРАВИЛ ЗДЕСЬ, ЯВЛЯЕТСЯ РЕПЛИКОЙ НЕ РЕАЛЬНЫМ КОДОМ. ЭТО ПОЧЕМУ ПОЛИТИКА МОИ ИНТЕРНЕТ.
Если вам нужна дополнительная информация о коде, можно свободно задать вопрос, постарайтесь быть максимально подробными, как можете.
, если вы имеете в виду, что мне нужно очистить статический текст текстовых полей, который уже привязан мной. чем у меня возникла проблема с моими другими веб-страницами, которые больше не хотят работать вместе. потому что я использую differnt cs для всех баз данных qeury's. также ошибка нестационарной переменной со статическим методом. Нет ли метода, подобного LostFocus? –
Я пробовал до этого, что информация заполняется в тексте. Пустой есть и после того, как текст не был уволен (второе изменение в текстовом поле), эти метки были изменены на Недоступно, что он скажет, если в базе данных нет результата , Но с отладкой это показывает мне, что он не стреляет с текстом –