我有一个 ASP 页面,其中包含一个始终包含不同行的表,从 MSSQL DB 动态加载。在表格的每一行中,我创建了一个Button
名为 Details 的文件,它是在写入表格期间动态创建的。此详细信息按钮添加了以下代码:
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
返回某些东西(真/假)时,PostBack 没有被激活,而一些客户端可能没有返回任何东西OnClientClick
并且 PostBack 被激活。