我想在按钮点击时在浏览器的新标签页面中打开一个页面。
我在谷歌上搜索了很多但我找不到任何东西。
这是我的按钮。
<asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry" OnClick="btnNewEntry_Click" />
protected void btnNewEntry_Click(object sender, EventArgs e)
{
Response.Redirect("New.aspx");
}
你能帮我解决一下这个问题吗?
答案 0 :(得分:31)
您可以使用window.open
。像这样:
protected void btnNewEntry_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(
this.GetType(),"OpenWindow","window.open('YourURL','_newtab');",true);
}
答案 1 :(得分:6)
为什么不直接从OnClick上调用window.open?
<asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry" OnClick="window.open('New.aspx')" />
答案 2 :(得分:4)
注意重置目标,否则所有其他调用(例如def meanFilter(self,image,fraction):
w,h = image.size
image=image.convert("RGBA")
sections=w/fraction
area = fraction * fraction
imagepix=image.load()
i=-1
j=-1
count = 0
countActual = 0
pixArray =[]
while i<sections-1:
j=-1
i+=1
while j<sections-1:
j+=1
for a in range(i*fraction,(1+i)*(fraction)):
for b in range(j*fraction,(1+j)*(fraction)):
rgb=imagepix[a,b]
if pixArray:
if abs(rgb[0]-255)>5 and abs(rgb[1]-255)>5 and abs(rgb[2]-255)>5 and not self.isBlack(rgb):
pixArray=map(lambda x,y: x+y,rgb,pixArray);
countActual +=1
else:
pixArray=rgb
countActual+=1
if countActual!=0:
mean = (int(pixArray[0]/countActual),int(pixArray[1]/countActual),int(pixArray[2]/countActual),int(pixArray[3]/countActual))
for a in range(i*fraction,(1+i)*(fraction)):
for b in range(j*fraction,(1+j)*(fraction)):
imagepix[a,b]=mean
countActual = 0
pixArray=[]
return image
)都会在新标签页中打开,这可能不是您想要的。
Response.Redirect
在javaScript中:
<asp:LinkButton OnClientClick="openInNewTab();" .../>
答案 3 :(得分:4)
将JavaScript用于主窗体/按钮单击事件。一个例子是:
Context.Response.Write("<script language='javascript'>window.open('AccountsStmt.aspx?showledger=" & sledgerGrp & "','_newtab');</script>")
答案 4 :(得分:3)
试试这个而不是重定向......
Response.Write("<script>");
Response.Write("window.open('ClickPicture.aspx','_blank')");
Response.Write("</script>");
答案 5 :(得分:3)
试试这个
<a href="#" target="_blank">Link</a>
答案 6 :(得分:2)
刚遇到同样的问题。客户端不合适,因为该按钮是从列表视图中回发信息。
在way2coding上看到与Amaranth相同的解决方案,但这对我不起作用。
然而,在评论中,有人发布了一个类似的解决方案,
OnClientClick="document.getElementById('form1').target ='_blank';"
其中form1是你的asp.net表单的id。
答案 7 :(得分:1)
你必须使用Javascript,因为后面的代码只是服务器端。我很确定这是有效的。
<asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry" OnClick="btnNewEntry_Click" OnClientClick="aspnetForm.target ='_blank';"/>
protected void btnNewEntry_Click(object sender, EventArgs e)
{
Response.Redirect("New.aspx");
}
答案 8 :(得分:1)
您可以像这样将按钮添加到OnClientClick上:
<asp:Button ID="" runat="Server" Text="" OnClick="btnNewEntry_Click" OnClientClick="target ='_blank';"/>
这将更改在新选项卡中打开的所有按钮的当前表单目标。因此,要完成此修复,您可以使用2种方法:
function ResetTarget() {
window.document.forms[0].target = '';
}
答案 9 :(得分:0)
Add this Script
<script type = "text/javascript">
function SetTarget() {
document.forms[0].target = "_blank";
}
</script>
and
<asp:Button ID="BTNpRINT" runat="server" Text="PRINT" CssClass="btn btn-primary" OnClick="BTNpRINT_Click" OnClientClick = "SetTarget();"/>
and
protected void BTNpRINT_Click(object sender, EventArgs e)
{
Response.Redirect(string.Format("~/Print.aspx?ID={0}",txtInv.Text));
}
答案 10 :(得分:0)
在vb.net中,点击点击或点击链接按钮,这将起作用。
const arr = ['Phnom Penh', 'AA', 'Kompot', 'BB'];
const data = [
{ location: 'Phnom Penh', sale: 1000 },
{ location: 'Kandal', sale: 500 },
{ location: 'Takeo', sale: 300 },
{ location: 'Kompot', sale: 700 },
{ location: 'Prey Veng', sale: 100 },
{ location: 'Seam Reap', sale: 800 },
{ location: 'Null', sale: 0 },
];
const dataLookup = data.reduce((res, obj) => {
return {...res, [obj.location]: obj}
}, {});
const result = arr.map(loc => dataLookup[loc] || dataLookup.Null);
console.log(result);
答案 11 :(得分:0)
add target ='_ blank':
<asp:button id="_ButPrint" ValidationGroup="print" OnClientClick="if (Page_ClientValidate()){$('form').attr('target','_blank');}" runat="server" onclick="ButPrint_Click" Text="print" />
答案 12 :(得分:0)
您可以在 ASPX HTML 前端执行此操作,使按钮转到新选项卡以动态显示 ASP.NET 站点中的页面:
<asp:Button ID="btnNewEntry" CssClass="button" OnClientClick="window.open('https://website','_blank'); return false;" text="WebsiteName" runat="server" />
答案 13 :(得分:-1)
每Open a URL in a new tab (and not a new window) using JavaScript
作者无法做的任何事情都可以选择在新标签页中打开,而不是在新窗口中打开。
浏览器决定打开新标签页面还是打开新窗口。您无法以开发人员的身份来控制它。
答案 14 :(得分:-1)
一个简单的解决方案:
<a href="https://www.google.com" target="_blank">
<button type="button">Open new tab</button>
</a>
答案 15 :(得分:-3)
你应该在客户方面做到这一点。你可以放置一个带有target =“_ blank”和style =“display:none”的html超链接。 之后创建一个像下面这样的javascript函数
function openwindow(){
$("#hyperlinkid").click();
return false;
}
使用此函数作为按钮的onclientclick事件处理程序,如onclientclick =“return openwindow()” 您需要在页面中包含一个jquery。
答案 16 :(得分:-4)
Add_ supplier是表单的名称
private void add_supplier_Load(object sender, EventArgs e)
{
add_supplier childform = new add_supplier();
childform.MdiParent = this;
childform.Show();
}