JS代码是这样的,弹开一个新窗口
   <script type="text/javascript">  
        function displayWindow(id)
        {
            var URL;
            URL="view.aspx?id="+id;
            w=window.open(URL,'HEHE',"z-look=yes,menubar=no,toolbar=no, location=no, directotries=no,status=yes,width=111px,height=111px,scrollbars=no");
            w.focus();
          }
    </script>然后我在需要的地方调用JS方法:onClick="javascript:displayWindow(id);"  请问各位中间的红色id,我怎么做才能动态的通过后台代码灵活赋值呢?因为这个id,我在后台是通过抓取的数据库信息,请教各位了。

解决方案 »

  1.   

    反了,由新打开的页面,借助opener读取源页面中的数据。
      

  2.   

    javascript:displayWindow('<%=后台的一变量%>');"  
      

  3.   

    不如在后台处理来得方便。onclick触发后台方法,进行处理得到id之后response一个js就行了
      

  4.   


    感觉将脚本写到后台onclick方法里比较好
    string js+="<script type=\"text/javascript\">";
    js+="function displayWindow(id){"
    js+="var URL;"
            js+="URL=\"view.aspx?id=\"+id;"
            js+="w=window.open(URL,'HEHE',\"z-look=yes,menubar=no,toolbar=no, location=no, directotries=no,status=yes,width=111px,height=111px,scrollbars=no\");"
            js+="w.focus();}"
    js+="</script>";
    Response.Write(js) ;
    类似这种写法吧
    还有其他的后台写脚本的方法可以使用
      

  5.   

    js+="function displayWindow(" + id + "){"
      

  6.   

    弄错了 ,应该是这样吧
    string js+=" <script type=\"text/javascript\">";
    js+="displayWindow("+id+");"
    js+=" </script>";
    Response.Write(js) ;
      

  7.   


    我先试验了这种方法javascript:displayWindow(' <%=cid%>');" 在后台Page_Load方法中我临时用
    string cid="1";结果前台
    CS0103: 当前上下文中不存在名称“cid” 是不是我给cid后台赋值的方法不对呢?
      

  8.   

    如果是我可能会用一个runat="server"的hidden field。
    可以通过postback修改这个hidden field,修改多少次都关系。然后弹出窗口之前document.getElementById('hidden field的ID').value这样就取到值了。而不用担心这个hidden field经历过多少次服务器端的改变。
      

  9.   

    放一个input,设置格式为 style="hiden:true",在后台给他赋值,在js里面用document.geitIementByID()读取
      

  10.   


    因为我要用到onclick属性的HyperLink是在一个repeater控件内循环,所以我可能会考虑以上这种赋值方法我在后台public string aaa="1";前台在html正常区域可以用<%=aaa%>输出"1",但是到了javascript:displayWindow(' <%=aaa%>');这里面的<%=aaa%>就不在输出1了,打开网页源代码一看竟然是onclick="displayHost('&lt;%=aaa%>')",这就导致了在新弹出URL地址后面带的还是<%=aaa%>,怎么解决在JS代码中的输出问题呢?不知道我描述的是否清楚
      

  11.   

    后台:
    string id="1";ClientScript.RegisterStartupScript(Page.GetType(), "openNewWindow", "window.open('URL?id=" + id + "');");
      

  12.   

    不好意思
    漏了点东西后台: 
    string id="1"; ClientScript.RegisterStartupScript(Page.GetType(), "openNewWindow", "<script type='text/javascript'>window.open('URL?id=" + id + "');</script>");
      

  13.   

    你这个问题我有一种简单的方法实现。在后台CS代码中调用前台JS代码。并给JS参数赋值。后台代码如下:
                string Strscript = "<script>displayWindow('" + id.toString() + "');</script>";
                RegisterClientScriptBlock("clientScript", Strscript);
    执行服务器按钮控件时执行这段代码即可。还没搞定请发帖。我在线呢
      

  14.   

    string cid="1";放到pade_load外边