我有一个 asp.net 网站,里面有C#代码。我目前正在使用以下方法打开一个窗口:
<asp:Button ID="btnNewHelpCall" Style="width: 180px;" runat="server" Text="New Help Call" UseSubmitBehavior="False" Width="135px" CssClass="buttonlink" OnClick="btnNewHelpCall_Click"></asp:Button></td>
在代码隐藏中:
this.Page.Response.Write("<script type="text/javascript">window.open('" + URL2 + "','" + Convert.ToInt32(decran).ToString() + "_ReqView','status=no,menubar=no,width=1000,height=700,resizable=yes,scrollbars=yes');</script>");
如您所见,这是调用Windows.open的半屁股方式,Chrome存在问题。Chrome 希望在调用之前执行用户操作。在本例中,它是调用隐藏代码的按钮操作。 在IE中工作,但在Chrome中不起作用。如果这是一个经常重复的话题,我深表歉意,但我认为这应该有效,因为它是由用户操作调用的。是的,我禁用了本地主机的弹出窗口阻止程序。(另一个问题,一些帖子说本地主机网址无法在Chrome中打开,但我不确定这是真的。
谢谢
埃里克
答案是你不能那样做!即使该操作是由单击事件触发的,我注入 javascript 的方式也不算作用户操作。
我最终重新设计了按钮所在的网格视图以使用 javascript。 从这里获得基本编码:https://www.codeproject.com/Questions/699912/Click-gridview-row-to-open-a-new-window
谢谢
埃里克