这个问题已经在这里有一个答案:
- Response.Redirect的新窗口, 20个答案
我写使用ASP.NET C#项目。
我想要实现的LinkButton的Click事件在新标签中打开新的页面,但在此之前我必须创建新的会话变量。 我曾经尝试这样做:
protected void LinkButton_Click3(Object sender, EventArgs e)
{
string p_id = (sender as LinkButton).CommandArgument;
Session["p_id"] = p_id;
Response.Write("<script type='text/javascript'> window.open('details.aspx','_blank'); </script>");
}
不过,这并不反正工作。
试试这个,请按一下按钮此功能,或者您希望从重定向页面上唯一的document.ready。
<script type="text/javascript">
function newTab()
{
if (opener.document.getElementById("aspnetForm").target != "_blank") return;
opener.document.getElementById("aspnetForm").target = "";
opener.document.getElementById("aspnetForm").action = opener.location.href;
}
</script
或本添加到LinkButton的HTML
OnClientClick="aspnetForm.target ='_blank';"
有时,它为我的作品只是申报不管我会从给药代码动态调用到一个javascript函数并调用它与在ClientScript类RegisterClientScriptBlock方法中:
Daclare的window.open功能:
<script type="text/javascript">
function SetRedirect(URI) {
window.open(URI, "Details", "menubar=no, location=no, resizable=yes, scrollbars=yes, status=yes, width = 1200, height = 600");
}
</script>
然后从背后类只是一个网关主叫此功能的代码中,如:
void MessageGateway(string URI)
{
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"logCallBack", @"<script type=""text/javascript"">SetRedirect('" + URI + "');</script>");
}
就是这样,你可以调用这个网关与你的东西,通常你做什么,
MessageGateway(string.Format("../IRMQueryPO.aspx?id={0}", e.Item.Cells[2].Text));
你可以尝试用tweeking“_blank”的“目标”参数,以打开一个标签,而不是一个窗口,它只是一个风味您的解决方案点事。