大家好,请问一下,我的页面上有一个需要选择分类的需求,我做了一个"选择"按扭,点击它时弹出窗体Tree.aspx(加载树形),但是每次主窗体都自动刷新闪了一下0,接着Tree.aspx都是自动的最小化到任务栏,不知道这是为什么,请指点一下.
下面是偶的代码:
private void ImgSelect_Click(object sender, System.Web.UI.ImageClickEventArgs e)
  {
this.Response.Write("<script language=javascript>window.open ('Tree.aspx',null, 'height=300, width=300,left=300,top=100,resizable=No')</script>");
    }

解决方案 »

  1.   

    请在'Tree.aspx'页面的html代码中
    找到<body>
    加入onload方法
    <body onload="this.focus()">
      

  2.   

    谢谢,但是我好象加不了,因为为了不让树形展开的时候闪烁,
    我已经加了<body load="initTree()">,还有别的办法吗?
      

  3.   

    initTree()是个什么方法呢?
    是不是不加这个方法页面就正常
      

  4.   

    initTree()是个什么方法呢?
    是不是不加这个方法页面就正常
    --------------------------------------
    估计是这个问题。function openDialog(w)
    {
    var str=window.showModalDialog(w, 'newwindow', 'height=350, width=600, top=100,help=no,close=no, left='+((screen.availWidth/2)-200)+', toolbar=0, menubar=0, scrollbars=1, resizable=0,location=0, status=0'); document.Form1.btn_refresh.click();

    }
      

  5.   

    initTree()是个什么方法呢?它是为了防止树形闪烁而设定的.我试过了,就算不加这个也还是那种情况.
    谢谢楼上,你上面的那个函数怎么调用呢?. btn_refresh.click();是什么意思呢
      

  6.   


    它是为了防止树形闪烁而设定的.我试过了,就算不加这个也还是那种情况.--------
    那你先就不加这个方法,在onload的时候加我给你的哪个方法看行不行
      

  7.   

    <body onload="initTree()"> 
    然后在PageLoad里写: 
    string strTreeName = "TreeView1"; 
    string strRef = Page.GetPostBackEventReference(TreeView1); 
    string strScript = "<script language=\"JavaScript\"> \n" + "<!-- \n" + " function initTree() { \n" +" " + strTreeName + ".onSelectedIndexChange = function() { \n" + "if (event.oldTreeNodeIndex != 
    event.newTreeNodeIndex) \n" + "this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex); \n" + "window.setTimeout('" + strRef.Replace("'","\\'") + "', 0, 'JavaScript'); \n" + " } \n" + " } \n" + "// --> \n" + "</script>"; 
    Page.RegisterClientScriptBlock("InitTree",strScript ); 
      

  8.   

    一度的温暖,其实我现在就是这样处理的,就出现了这种最小化的情况.<body onload="initTree()"> 
    然后在PageLoad里写: 
    string strTreeName = "TreeView1"; 
    string strRef = Page.GetPostBackEventReference(TreeView1); 
    string strScript = "<script language=\"JavaScript\"> \n" + "<!-- \n" + " function initTree() { \n" +" " + strTreeName + ".onSelectedIndexChange = function() { \n" + "if (event.oldTreeNodeIndex != 
    event.newTreeNodeIndex) \n" + "this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex); \n" + "window.setTimeout('" + strRef.Replace("'","\\'") + "', 0, 'JavaScript'); \n" + " } \n" + " } \n" + "// --> \n" + "</script>"; 
    Page.RegisterClientScriptBlock("InitTree",strScript ); 
      

  9.   

    一度的温暖,我把你刚才<body onload="this.focus()">加入,窗体不会自动最小化了,树形也不闪烁了,谢谢.但是我还有一个问题,就是"选择"按扭,点击它时弹出窗体Tree.aspx(加载树形),点击第1次时加载上了,再点击一次,弹出的Tree.aspx显示一片空白,树没有加载上,在Tree.aspx我也用了if (!this.IsPostBack){ }
      

  10.   

    在Tree.aspx把if (!this.IsPostBack){ }去掉,就不会出现空白了,但是<body onload="this.focus()">在点击"选择"按钮一次的时候,不会最小化了,此后再点击,仍然还是最小化,有没有办法不管点击多少次,都不会最小化呢
      

  11.   

    在Tree.aspx把if (!this.IsPostBack){ }去掉,就不会出现空白了,但是<body onload="this.focus()">在点击"选择"按钮一次的时候,不会最小化了,此后再点击,仍然还是最小化,有没有办法不管点击多少次,都不会最小化呢
    ----------
    你用模式窗口吧