动态在后台使用代码更改iframe的src属性
protected void LinkButton2_Click(object sender, EventArgs e)
{
    this.LinkButton2.Attributes["onclick"] = "document.frames[\"ifrm01\"].location.href='b.aspx';return   false;"; 
}<iframe id="ifrm01" src="a.htm">已经能够正确地切换页面,但是有2个问题。1、点击按键时候经常第一次点击没有效果,要第2次点击才能切换
2、切换页面后,字体会变化(原来设置的是80%大小,切换后变成100%,字体好像也有变化)希望各位大哥大姐帮帮忙解决一下

解决方案 »

  1.   

    1、点击按键时候经常第一次点击没有效果,要第2次点击才能切换
    //樓主第一次點擊時,執行的只是添加button屬性,並沒有真正執行替換語句。
    //可在paga_load裡,先添加屬性: this.LinkButton2.Attributes["onclick"] = "document.frames[\"ifrm01\"].location.href='b.aspx';return   false;"; 2、切换页面后,字体会变化(原来设置的是80%大小,切换后变成100%,字体好像也有变化)
    //出現這種情況,相信是沒有使用CSS來控制的緣故,樓主考慮用CSS來控件格式。
    //建議樓主用這種方式:
    protected void Button1_Click(object sender, EventArgs e)
        {
            string str = b.aspx;//iframe裝載地址
            str="document.frames['frame1'].location='" + str + "'";        ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), "", str,true);
        }
      

  2.   

    to ydsunny(小强):谢谢。。不过我尝试用你的方法,好像没有用呢。
      

  3.   

    。嗯。。我放到page load里面好像就出不来了一直空白
      

  4.   

    page_load裡這樣寫:
     if (!IsPostBack)
                {
    string url = "b.aspx";//iframe裝載地址
           string str="document.frames['ifrm01'].location='" + url + "'";        ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), "", str,true);
    }
      

  5.   

    有一点问题我一共有3个按钮,需要iframe在3个src间变化。直接写到page_load里面。怎么区分开呢。。
      

  6.   

    呵呵,樓主你是不是才學C#呀?!
    你想要的功能是不是,點擊不同的按鈕顯示不同的頁面?
    這樣的話,你只要在每個按鈕的click事件裡,寫上我給你的代碼不就成了。只要改變頁面的地址即可。^_^
      

  7.   

    理解误区,理解误区~ 我看你说写到page_load里~
    正纳闷page_load里面怎么写3份呢,理解错误  
    呵呵!^^