asp.net页面跳转打开新窗口

asp.net下拉列表绑定链接地址,地址是在数据库里边的内容,当选中下拉列表某一项时,从新窗口打开该页面,原来的窗口不关闭,该怎么实现??我的代码如下,我不知道为什么不在... asp.net下拉列表绑定链接地址,地址是在数据库里边的内容,当选中下拉列表某一项时,从新窗口打开该页面,原来的窗口不关闭,该怎么实现??
我的代码如下,我不知道为什么不在新窗口打开,请高手帮忙,非常感谢:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:DropDownList ID="DropDownList1" runat="server" DataTextField="link_name" DataValueField="link_name" OnSelectedIndexChanged="change" AutoPostBack="True">
</asp:DropDownList>
</div>
</form>
</body>
</html>

CS代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using comm;
public partial class Default3 : System.Web.UI.Page
{
comm_comm comm_link = new comm_comm();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string str = "select * from link order by link_id desc";
comm_link.dr_Bind(str, DropDownList1);
}

}
protected void change(object sender, EventArgs e)
{

Response.Write("<script language='javascript'>window.open('"+DropDownList1.SelectedValue+"','_blank');</script>");
}
}
展开
 我来答
头奖彩票网
推荐于2018-03-19 · TA获得超过368个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:106万
展开全部
Response.Write("<script language='javascript'>window.open('"+DropDownList1.SelectedValue+"','_blank');</script>");
改为:
Response.Write("<script language='javascript'>window.open(\""+DropDownList1.SelectedValue+"\",\"_blank\");</script>");
试试看。。
在javascript中'和"是有区别的 有些地方不能通用

还有 像你这样功能的实现,尽量统一在客户端完成,比如给DropDownList Attribute一个onchange脚本事件 这样既减少服务器压力,又给用户带来好的体验。。
百度网友7de8a4a6f
2009-03-28 · TA获得超过158个赞
知道答主
回答量:63
采纳率:0%
帮助的人:81.7万
展开全部
呵呵.不推荐使用AUOTPOSTback 这个属性跳转页面.应为这样的话会导致页面重加载,占用服务器资源(现在的AJAX技术就是为了节省服务器开销而来的一项新技术).应该使用比较通用的JS技术(PHP,ASP,JSP,ASP.NET)都适用!

我发段代码给你.
<select name="selFrnd2" id="selFrnd2" onChange="gofrnd('selFrnd2')">
<option selected="selected" value="0">——友情链接——</option>

<option value="http://www.baidu.com/">百度</option>

<option value="http://www.163.com">网易</option>

<option value="http://www.sina.com.cn">新浪</option>

</select>
<SCRIPT>
function gofrnd(o)
{
var fObj = document.all.item(o);
if(fObj==null)
return;
var fl = fObj.options[fObj.selectedIndex].value;
if(fl!='0')
{
fl= fl;
window.open(fl);
}
}
</SCRIPT>
你可以用DropDownList在PAGE_LOAD里加入this.DropDownList1.Attributes.Add("onchange","gofrnd('DropDownList1');");就OK了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiangjuan314
2016-03-03 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2902万
展开全部

ASP.NET打开新窗口方法一:

Response.Write("<script language=\"javascript\">window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\");</script>");

这种方式代码每次是生成在页面最顶端


ASP.NET打开新窗口方法二:

string strScript = "";
strScript += "<script language=\"javascript\">\n";
strScript += "window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\");\n";
strScript += "location.href='index.html';";
strScript += "</script>";

bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp");
  if (!b)
  {   ((Page)System.Web.HttpContext.Current.Handler).RegisterStartupScript("PopUp",strScript);
  }


这种方式是在页面中生成JAVASCRIPT代码

注意:如果输出JAVSSCRIPT语句后,页面又用Response.Redirect跳转到其他页,JAVASCRIPT将不会出现.实现弹出窗口和跳转同时必须都在JAVASCRIPT语句里,

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林聘书屋喜添8498
2009-04-02 · 超过54用户采纳过TA的回答
知道答主
回答量:361
采纳率:100%
帮助的人:0
展开全部
不一定是最好的方法,希望给你个参考。
定义DropDownList onClick事件。
然后 Response.Redirect
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式