当前位置:编程学习 > C#/ASP.NET >>

请问关与iframe的问题

为什么我到JS中写
function bntAdd()
{
    var o=document.getElementById("Select1");
    if(o.value=="23")
    {
        frames[0].location.href='warrant/skpz.aspx';
    }
    if(o.value=="24")
    {
        frames[0].location.href='warrant/fkpz.aspx';
    }
    if(o.value=="25")
    {
        frames[0].location.href='warrant/zzpz.aspx';
    }
    if(o.value=="26")
    {
        frames[0].location.href='warrant/typz.aspx';
    }
}
可以执行 
但是我到ASP.NET的事件里面写
                    
if (dt.Rows[0]["statictype_id"].ToString() == "23")
                    {
                        Response.Write("<script>frames[0].location.href='warrant/skpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() + "';</script>");
                    }
                    
else if (dt.Rows[0]["statictype_id"].ToString() == "24")
                    {
                        Response.Write("<script>frames[0].location.href='warrant/fkpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() + "';</script>");
                    }
                    
else if (dt.Rows[0]["statictype_id"].ToString() == "25")
                    {
                        Response.Write("<script>frames[0].location.href='warrant/zzpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() + "';</script>");
                    }
不能执行? --------------------编程问答-------------------- 试试:
Response.Write(" <script language='javascript'>frames[0].src='warrant/skpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() + "'; </script>"); 


--------------------编程问答-------------------- Response.Write(" <script language='javascript'>frames[0].src='warrant/skpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() + "'; </script>"); 


应该正确  楼主试下 --------------------编程问答-------------------- 一直显示frames[0]为空或不水对象 --------------------编程问答-------------------- Response.Write 注册的JS是在页面的最上方,你那样在CS中写,应该会出脚本错误
换种注册脚本的方法写
VS2005

ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(),"<script language='javascript'>frames[0].src='warrant/skpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() ");

VS2003

Page.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(),"<script language='javascript'>frames[0].src='warrant/skpz.aspx?formID=" + dt.Rows[0]["Form_ID"].ToString() ");


试一试。 --------------------编程问答-------------------- 汗一下自己,4楼说的对,你用Response.Write后,执行脚本时,frame还没有创建,就会出现找不到对象的js错误

用4楼的方法就可以了。 --------------------编程问答-------------------- 还是显示的frames[0]为空或不是对象
   --------------------编程问答-------------------- 恩
  4楼的方面已经有了<body>
    <form name="form1" method="post" action="selectAllFrom.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTI1NDAzNjc1Ng9kFgICAw9kFgQCAQ8PFgIeB1Zpc2libGVoZGQCAw8PFgIeC05hdmlnYXRlVXJsBSYvTm90ZVdhcnJhbnQvc2VsZWN0QWxsRnJvbS5hc3B4P3BhZ2U9MmRkZL4WgY4KVX4KgneYi0PE2QSax24E" />
</div>

    <div>
        <table cellpadding="0" cellspacing="0" width="500px">
            <tr>
                <td align="right" style="width: 72px; height: 19px"></td>
                <td style="width: 65px; height: 19px;" align="left"><a id="nextLink" href="/NoteWarrant/selectAllFrom.aspx?page=2">下一页</a></td>
            </tr>
        </table>
           
    </div>
    <input name="buttadd" type="button" id="buttadd" onclick="button()" />
    
<div>

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKHu/WcAQKbl/bgCw0//WEnZwOxfqxbLtfP8rtSO/tW" />
</div>
<script language='javascript'>frames[0].src='warrant/skpz.aspx?formID=11200861610136';</script></form>
    <iframe  style="width:600px;height:500px" id="Select1" ></iframe>
</body>
</html>
但是也是在iframe  创建前执行的  --------------------编程问答-------------------- 4楼正解 --------------------编程问答-------------------- 会不会在frames[0]之前得加个document.呀。 --------------------编程问答-------------------- 你把<iframe  style="width:600px;height:500px" id="Select1" > </iframe>拿到FORM里面去。
RegisterStartupScript注册的脚本是在FORM里的最后面的。 --------------------编程问答-------------------- 相当感谢啦  
  做出来了
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,