asp.net中弹出窗口问题.
用(javascript windows.open()),
为什么大网站上(sina,163等)的弹出窗口都不被浏览器阻止,而我的都被阻止了???????
弹不出来
是不是人家的网站不是用javascript windows.open()啊?
用什么???

解决方案 »

  1.   

    一般情况下都是IE.
    我这里IE也能阻止它,连杀毒软件都把它阻止了
    ???????
      

  2.   

    哦 最好你搞个截图 一般是浏览器的问题,如果你使用遨游的话就会发现他们是另开的一页.
    或者你可以试下这种方法:
    在.cs代码里写page.注册框口
    page.RegisterStartupScript("", "<script language='javascript'>window.open('" + url + "',target ='" + self + "','menubar=no;toolbar=no');<" + "/script>");
      

  3.   

        protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
        {
            Response.Write("<Script language=javascript>window.open('VoteShow.aspx','newwindow', 'height=260, width=630, top=200,left=200, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');</Script>");
        
        }
      

  4.   

    Response.Redirect 打开新窗口的方法     protected void Page_Load(object sender, EventArgs e)
        {
            form1.Target = "_blank";
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("http://dotnet.aspx.cc");
        }
      

  5.   

    晕 你直接将我的代码放到
    ImageButton2_Click下试下 
    page.RegisterStartupScript("",   " <script   language='javascript'> window.open('VoteShow.aspx'',target   ='_blank','menubar=no;toolbar=no'); <"   +   "/script> ");
      

  6.   

    10楼的老大,ImageButton2_Click下没有"page"
    提示:
    错误 1 当前上下文中不存在名称“page” F:\网站\WEB.root\WEB\WEB\Vote\Default.aspx.cs 69 9 F:\...\WEB\
      

  7.   

    刚才是大小写问题.改成Page了
    可是出了警告:
    警告 1 “System.Web.UI.Page.RegisterStartupScript(string, string)”已过时:“The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202” F:\网站\WEB.root\WEB\WEB\Vote\Default.aspx.cs 69 9 F:\...\WEB\并且点击后,也没弹出,状态栏提示"网页有错误"
      

  8.   

    改成这样,可以用了:
    ClientScript.RegisterStartupScript(this.GetType(),"","<script language='javascript'>window.open('VoteShow.aspx',target='_blank','height=260, width=630, top=200,left=200, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');<" + "/script>");
       
    可还是被卡巴斯基给阻止了...
      

  9.   

    大网站上的弹出窗口不一定是windows.open实现的,还有可能使Div。
      

  10.   

    ????Page.在VS2003里使用 在VS2005里它分了服务器端和客户端代码 不过可以忽略他的提示 
    对于状态栏显示"网页有错误"有两种情况 
    一是你这个页面里含有JAVASCRIPT变量没有取到值,另外一种可能就是你IE浏览器在对JAVASCRIPT方面做了限制
    其实如果你一定要弹出一个窗口 而又不想受浏览器的影响的话
    给你一个思路 使用特效:
    1.在本页面置几个DIV 它的作用是在点击按钮时弹出新窗口转换本页面呈不能操作的状态
    2.在新窗口弹出时将原页面置不能操作状态
      

  11.   

    看了楼上的大仙们高建,真是有很多思路,在此先谢谢!
    可是div层怎么用?能否给个例子?
      

  12.   

    呵呵!!!!对于使用DIV层的弹出窗口特效 给你一个强的推荐
    你去人才招聘网站上 
    目前人才招聘网站上的特效是做的最全的 比如51JOB等 你先去看看 蛮简单的 如果实在还是搞不定 再回言 给我!
      

  13.   

    用层实现了,可怎么关闭层啊?
    我在层里用了
    <a href="javascript:window.close()"><font color="#ff0000" size=2>【关闭窗口】</font></a></td>可是当关闭的时候,连它的父窗口也关闭了,怎么写层的关闭事件,但又不让它关闭父窗口???
               
      

  14.   

    呵呵,又出问题了刚才用层能实现功能,但是,如果一放到框架ifram里面,就不行了....
      

  15.   

    把一个页面放到IFRAME中提交数据 会出错的 建议是用ASCX吧
    对于你使用层之后要关闭的话当然是将你弹出窗口关闭 后将原页面层显示出来!
      

  16.   

    用Panel吧,设置隐藏或显示就行了
      

  17.   

    用Panel,设置隐藏或显示 
    这个最简单 
    但不是值得提倡的做法 因为在流程上不符合逻辑 如果是敢于完成工作任务的话 这不失为一种方法!
      

  18.   

    试了几下,感觉用层,和panel都不合适
    因为是放在ifram里,所以即使用层,显示的时候,也显示不出来,因为 ifram的窗口很小,是投票用的
    如何实现想sina里面的投票功能,点击查看,马上弹出来一个窗口,不会被任何工具拦截
      

  19.   

    div   z-index    position    html元素   CSS    javascript动态变换   GetDocumentID...  前后台调用
    这些都是要考虑的
      

  20.   

    还可以用js new出新窗口   弹出来   觉得9楼的办法还不错
      

  21.   

    你看看提示就明白是什么原因了,提示应该大致是说脚本要访问本地资源被阻止
    什么意思呢?你想想,你的网页是保存在本机上的,而你的脚本要访问网页文件,那就是访问本地资源,所以当然被阻止了
    而在互联网上的网站,他们本来就没有访问你的本地资源,当然没问题了你试试把网页放在IIS的wwwroot下,然后通过localhost访问,应该就不会被阻止了当然我也有可能说错,以上只是我的个人观点
      

  22.   

    public static class ResponseHelper {    public static void Redirect(string url, string target, string windowFeatures) {        HttpContext context = HttpContext.Current;         if ((String.IsNullOrEmpty(target) ||            target.Equals("_self", StringComparison.OrdinalIgnoreCase)) &&            String.IsNullOrEmpty(windowFeatures)) {             context.Response.Redirect(url);        }        else {            Page page = (Page)context.Handler;            if (page == null) {                throw new InvalidOperationException(                    "Cannot redirect to new window outside Page context.");            }            url = page.ResolveClientUrl(url);             string script;            if (!String.IsNullOrEmpty(windowFeatures)) {                script = @"window.open(""{0}"", ""{1}"", ""{2}"");";            }            else {                script = @"window.open(""{0}"", ""{1}"");";            }             script = String.Format(script, url, target, windowFeatures);            ScriptManager.RegisterStartupScript(page,                typeof(Page),                "Redirect",                script,                true);        }    }}上面是弹出窗口的静态方法,调用方法如下:
    ResponseHelper.Redirect("popup.aspx", "_blank", "menubar=0,width=100,height=100");
    保证在IE下不会被IE拦截,
      

  23.   

    使用层,例如:
    <div style="width:400px;height:300px;z-index=100000;display:none;" id="div_1">
    aaaaa
    </div>
    当您需要显示层的时候触发以下代码:
    funciton showDiv()
    {
        document.getElementeById("div_1").style.display = "block";
    }
    当您需要关闭层的时候触发以下代码:
    function closeDiv()
    {
        document.getElementeById("div_1").style.display = "none";
    }
    完善一点:
    显示层的时候:
    funciton showDiv()
    {
        document.getElementeById("div_1").style.width = 400;
        document.getElementeById("div_1").style.height = 300;
        document.getElementeById("div_1").style.z-index = 100000;
        document.getElementeById("div_1").style.display = "block";
    }
    关闭层的时候:
    funciton showDiv()
    {
        document.getElementeById("div_1").style.width = 0;
        document.getElementeById("div_1").style.height = 0;
        document.getElementeById("div_1").style.z-index = 0;
        document.getElementeById("div_1").style.display = "none";
    }