我正在下载一些从数据库绑定的值。当我选择一个特定的选项时,我会在新标签中打开相应的页面,我写下以下哪个不起作用,所以任何人都可以帮助我
protected void ddlAuthoritytype_SelectedIndexChanged(object sender, EventArgs e)
{
string ddl = ddlAuthoritytype.SelectedValue;
switch (ddl)
{
case "AL":
Response.Write("<script>Window.Open('alabama-state-tax-calculator.aspx');</script>");`
}
}
答案 0 :(得分:2)
您应该使用以下脚本:
<script type="text/JavaScript">
<!--
function openWindowFromDropDownList(theURL,winName,features)
{
var SID = document.forms[0].dropdownlist1.value
if (SID > 0){
theURL = theURL + document.forms[0].dropdownlist1.value
var newWin = window.open(theURL,winName,features);
newWin.opener = self;
}
}
//-->
</script>
答案 1 :(得分:2)
使用此:
protected void ddlAuthoritytype_SelectedIndexChanged(object sender, EventArgs e)
{
var port = Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port.ToString();
string ddl = ddlAuthoritytype.SelectedValue;
switch (ddl)
{
case "AL":
var script = string.Format("window.open('{0}://{1}{2}{3}')", Request.Url.Scheme, Request.Url.Host, port, ResolveUrl("~/alabama-state-tax-calculator.aspx"));
ScriptManager.RegisterStartupScript(this, this.GetType(), "newWindow",script, true);
break;
}
}
答案 2 :(得分:0)
所以你想要一个回发并在服务器上处理更改吗? ddlAuthoritytype是否设置了autopostback属性?
您是否尝试在交换机中执行Response.Redirect而不是注入脚本?
编辑:啊,错过了新的标签部分,现在我看到了脚本的原因。