我有一个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浏览器。如果这是一个经常重复的主题,我深表歉意,但是我认为这应该可行,因为这是用户操作所致。是的,我为本地主机禁用了弹出窗口阻止程序。 (另一个问题,有些帖子说Localhost网址无法在Chrome中打开,但我不确定那是真的。
谢谢
埃里克
答案 0 :(得分:0)
答案是您不能那样做!即使该动作是由on-click事件触发的,但我注入javascript的方式也不会算作用户动作。
我最终重新设计了按钮所在的gridview以使用javascript。 从这里获得了基本的编码:https://www.codeproject.com/Questions/699912/Click-gridview-row-to-open-a-new-window
谢谢
埃里克