有两个网页default1.aspx和default2.aspx,通过使用框架集frameset将它们组织在一个网页htmlPage.htm上面。
1.htmlPage.htm的代码如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>无标题页</title>
</head>
<frameset cols="50%,*">
<frame  id="left" src="default1.aspx"/>
<frame id="right" src="default2.aspx"/>
</frameset>
</html>
default1.aspx的前端设计界面中只有两个控件分别为: 
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Style="z-index: 100;
            left: 199px; position: absolute; top: 186px" Text="Button" />
<input id="Text1" style="z-index: 104; left: 202px; position: absolute; top: 141px"
            type="text" value="nihao" />
代码隐藏文件中的代码为:
 protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("<script language='javascript'>window.parent.frames('right').location.reload();</script>");
    }default2.aspx界面中没有内容,只有一个ID=datadiv的层
<div id="datadiv">
        &nbsp;</div>
 <script type="text/javascript" language="javascript">
        function loadResult()
        {
            var identifyResult = window.parent.frames("left").document.forms[0].Text1.Value;
            var o = window.parent.frames("right").document.getElementById("datadiv");          
   if (o != null)
    {
               o.innerHTML=identifyResult;
       }         
         }
 </script>
2.实现的主要功能是,加载完成框架页面后,通过点击左边框架(default1.aspx)的Button按钮,刷新右边的框架(default2),同时实现将左边框架中的Text1中的值在右边的页面中显示。请问代码在什么地方出现错误??怎么也没有错误提示,但就是无法实现上面的功能。请教高手,望帮忙分析!

解决方案 »

  1.   

    不好意思,default2页面的后台代码忘记放上了,现在放上。    protected void Page_Load(object sender, EventArgs e)
        {
               if (Session["hi"].ToString() == "" )
            {
                Session["hi"] = "nihao";
            }
            else
            { 
                ClientScriptManager csm = Page.ClientScript;
                string scriptName = "ClientScript";
                if (!csm.IsClientScriptBlockRegistered(scriptName))
                {
                      csm.RegisterClientScriptBlock(this.GetType(), scriptName, "<script language='javascript'> loadResult();</script>");
                } 
            }        
        }
    因为在第一次htmlPage页面加载时,default2中不实现上面说的功能,只在响应单击事件重新加载后才实现,所以我就定义了用到了Session对象,其中,在global.asax中定义的Session["hi"],只是做一个标记看是否是首次被加载。
      

  2.   

    刷新问题 在后台加上这句试试: Button1.Attributes.Add("onclick", "return false;")
      

  3.   

    楼主的问题 在IE环境下 如果URL是相同的话 会读取缓存中的内容
    所以建议在URL后面加上一个随机的参数,url?redom=12313131
    这样每次就可以访问新的东西
      

  4.   

    更改方法,左边框架中的按钮可以换成<a>标签,并将其target属性制定是右边的框架。这样就可以只更新右边的框架页面。