У меня есть страница ASP с таблицей, содержащей всегда разные строки, динамически загружаемые из базы данных MSSQL. В каждой строке таблицы я создал Button
, называемый «Детали», который динамически создается во время написания таблицы. Это детали добавлена кнопка со следующим кодом:Возврат динамической кнопки создания не всегда выполняется
Button detailsButton = new Button();
detailsButton.Height = new Unit("18px");
detailsButton.Width = new Unit("65px");
detailsButton.Text = "Details";
detailsButton.ID = row.ItemArray[0].ToString();
detailsButton.PostBackUrl = "~\\DetailsPage.aspx?selectedSignalling=" + detailsButton.ID;
//detailsButton.Click += detailsAgencyButton_Click;
//detailsButton.OnClientClick = "return true;";
table1cell4.Controls.Add(detailsButton);
table1row.Cells.Add(table1cell4);
Намерение состоит в том, чтобы перенаправить клиента к URL возврата, когда одна кнопка нажата на строке. Обратный URL-адрес динамически создается для каждой кнопки, сопоставляя каждому из них идентификатор элемента, который пользователь будет выбирать для отображения деталей.
Хотя это отлично работает в моей среде разработки, на которой работает IIS 7.5, это не всегда работает на рабочей среде, которая запускает IIS 6.0 и которая не может быть обновлена. В IIS 6.0 некоторые клиенты не замечают никаких проблем, в то время как другие не могут отображать страницу сведений, но при нажатии кнопки «Сведения» URL-адрес обратной передачи не загружается, и вместо этого остается только перезагрузка текущей страницы.
Я попытался изменить многие настройки (установите detailsButton.Click
, установите OnClientClick
на "return true;
"), но это не удачно. Я заметил, что добавление:
detailsButton.OnClientClick = "return true;";
инструкция, перенаправление не работает и в IIS 7.5. Поэтому мне кажется, что когда OnClientClick
что-то возвращает (true/false), PostBack не активируется, а некоторые из клиентов, вероятно, не возвращают OnClientClick
, и PostBack активирован.