[英]how to open new window in new tab with dynamic url
我有一个带下拉列表的页面,我必须用选定的iteam编辑表单打开一个新窗口
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
this.EntityGrid.Columns.Clear();
EntityName.Text = DropDownList1.SelectedItem.Text;
newEntity.Visible = true;
newEntity.Text = DropDownList1.SelectedItem.Text;
...
}
以下作品
protected void newEntity_Click(object sender, EventArgs e)
{
var entity = newEntity.Text;
Response.Redirect(entity + "Edit.aspx");
...
}
但我如何在单独的选项卡中打开而不是新窗口。
打开一个单独的窗口是一个客户端功能,所以你需要“注入”告诉浏览器执行此操作的javascript。
Response.Write(
string.Format(
"<script>window.open('{0}','_blank');</script>", entity + "Edit.aspx"));
参数_blank
告诉windows.open
函数打开一个新窗口
您需要指示浏览器打开一个新窗口 - 这不能在服务器端完成,因此您必须在客户端执行此操作。
一个选项是,而不是Response.Redirect
,使用Response.Write
输出JavaScript以打开一个新窗口(并重定向当前的窗口)。
另一种选择是在将打开新窗口的链接上使用target="_blank"
属性。
您可以忘记使用JavaScript,因为浏览器控制它是否在新选项卡中打开。 您最好的选择是执行以下操作:
<form action="http://www.yoursite.com/dosomething" method="get" target="_blank">
<input name="dynamicParam1" type="text"/>
<input name="dynamicParam2" type="text" />
<input type="submit" value="submit" />
</form>
这将始终在新选项卡中打开,无论客户端使用哪个浏览器由于target
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.