C# 停止OnClientClick=";aspnetForm.target='_空白'&引用;从其他控制点发射?
我有一个页面,它有一个链接按钮,可以打开一个报告。在该链接按钮上,如果有OnClientClick=“aspnetForm.target=”_blank“;”,则报告将在新窗口/选项卡中打开。这正如预期的那样有效。我还有一个普通的按钮 如果首先单击linkbutton,则第二个按钮在单击时也会打开一个新窗口。我该如何阻止这种情况发生C# 停止OnClientClick=";aspnetForm.target='_空白'&引用;从其他控制点发射?,c#,javascript,asp.net,C#,Javascript,Asp.net,我有一个页面,它有一个链接按钮,可以打开一个报告。在该链接按钮上,如果有OnClientClick=“aspnetForm.target=”_blank“;”,则报告将在新窗口/选项卡中打开。这正如预期的那样有效。我还有一个普通的按钮 如果首先单击linkbutton,则第二个按钮在单击时也会打开一个新窗口。我该如何阻止这种情况发生 我真的不知道如何恰当地表达这个问题,所以请随意编辑这个问题 请尝试呈现一个HTML锚(而不是asp:linkbutton),将href设置为适当的url,并将目标属
我真的不知道如何恰当地表达这个问题,所以请随意编辑这个问题 请尝试呈现一个HTML锚(而不是asp:linkbutton),将href设置为适当的url,并将目标属性设置为\u blank
<a href="urlOfThePage" target="_blank" >Click me</a>
问题是当您单击第一个按钮时,您正在重新分配
aspnetForm.target的值。为什么不使用window.open来代替这种方法呢
OnClientClick="void(window.open('http://www.google.com')); return false;"
clientClick on LinkButton的代码修改整个表单目标。你可以加上
OnClientClick="aspnetForm.target ='_self';"
到第二个(常规)按钮。这将再次重新分配表单目标-这一次是“self”。在我看来,使用此方法的最佳解决方案是在单击此表单中包含的任何其他按钮时重置特定表单的目标
window.document.forms[0]。目标=“”代码>
如果您不喜欢这种方法,可以在新选项卡打开几分钟后使用setTimeout()触发这行代码。我使用linkbutton,因为我必须从我的代码中构建url。我必须操纵参数。如果我没有更改参数,我会使用它。我必须使用response.redirect。我必须在我的代码中进行一些计算,并将这些新参数传递给报表。这样做了!!谢谢我应该自己想到的。嘿!回答得很好。它帮助了我。但有一点变化可能是有用的。我正在使用DevExpress并在后台进行一些其他处理。所以我使用了:function redirectBlank(){aspnetForm.target=''u blank';setTimeout(function(){redirectSelf()},500);}function redirectSelf(){aspnetForm.target=''u self'}
在我的按钮中,onclientclientclick
调用第一个函数。希望这对别人也有帮助。