MSSQL DBから動的にロードされる、常に異なる行を含むテーブルを持つASPページがあります。テーブルの各行では、テーブルの作成中に動的に作成される、詳細と呼ばれる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は、ボタンごとに動的に作成され、それぞれに詳細を表示する項目のIDが関連付けられます。
これは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がアクティブになっているようです。