C# 不总是执行动态创建按钮的回发
我有一个ASP页面,其中的表总是包含不同的行,从MSSQL数据库动态加载。在表格的每一行中,我都创建了一个名为Details的C# 不总是执行动态创建按钮的回发,c#,asp.net,iis,postbackurl,C#,Asp.net,Iis,Postbackurl,我有一个ASP页面,其中的表总是包含不同的行,从MSSQL数据库动态加载。在表格的每一行中,我都创建了一个名为Details的按钮,它是在表格编写过程中动态创建的。此详细信息按钮添加了以下代码: Button detailsButton = new Button(); detailsButton.Height = new Unit("18px"); detailsButton.Width = new Unit("65px"); detailsButton.Text = "Details"; de
按钮,它是在表格编写过程中动态创建的。此详细信息按钮添加了以下代码:
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的my development environment(我的开发环境)上运行良好,但在运行IIS 6.0且无法更新的生产环境中并不总是如此。在IIS 6.0上,一些客户端没有注意到任何问题,而其他客户端则无法显示详细信息页面,但是,当单击“详细信息”按钮时,回发URL不会加载,而只会重新加载当前页面
我试图更改许多设置(设置详细信息按钮。单击,将OnClientClick
设置为“返回真值;
”),但运气不佳。我只注意到添加以下内容:
detailsButton.OnClientClick = "return true;";
指令,重定向在IIS 7.5中也不起作用。因此,在我看来,当OnClientClick
返回某个内容(true/false)时,回发不会被激活,而一些客户端可能不会返回任何OnClientClick
,回发被激活。我使用与OnClientClick事件关联的javascript重定向解决了我的问题,并在同一事件上返回false。这将防止服务器被调用,并且客户端在不刷新旧页面的情况下重定向到新页面
detailsButton.OnClientClick = "windows.open(' new_page.aspx ', '_self'); return false;";