Asp.Net父子頁訪問

來源:互聯網
上載者:User
效果:比如一個裝置管理系統的某處要填入裝置編號,但裝置編號通常比較難記,而可能記住的只是哪個部門哪個位置的裝置。因此,我們想在文字框旁邊加一個按 鈕,點擊之後彈出一個子頁面,這裡有裝置編號、裝置的各項詳情對照的一個表格,我只要根據位置找到該裝置,雙擊此記錄,裝置編號便填上去了。

實現過程:
父頁面

開啟新視窗的javascript函數為:

      <script type="text/javascript" language="javascript">           
           function openpage(htmlurl) 
        {
        var newwin=window.open(htmlurl,"newWin","toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,top=100,left=200,width=650,height=300");
        newwin.focus();
        return false;
        }

        </script>

 在按鈕中調用:

 

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return openpage('child.aspx');"/>

 子頁面綁定gridview的資料來源,並在它的RowDataBound事件裡寫代碼如下:

 

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        string s = "window.opener.document.getElementById('txbRoleName').value='" + e.Row.Cells[1].Text + "'; "+
            "window.opener.document.getElementById('txbRoleID').value='" + e.Row.Cells[0].Text + "'; " 
            +"window.close();";
        if (e.Row.RowType != DataControlRowType.Header)
        {
            e.Row.Attributes.Add("ondblclick", s);//雙擊選擇
            //當滑鼠移到的時候設定該行顏色為"", 並儲存原來的背景顏色
            e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#C0C0FF';this.style.cursor='hand';");
            //當滑鼠移走時還原該行的背景色
            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");
        }
    }

 

說明:通過window.open開啟新頁面,兩個頁面之前便有了一種父子關係。子頁通過opener可以訪問父頁(控制項及寫在父頁的js函數),父頁同 樣通過sub可以訪問子頁。如在父頁有個js函數sayhello(),在子頁中只需要opener.sayhello()便可以調用了。

只使用很少的Javascript代碼與asp.net結合,便完成了一種很好用的效果。

 

 轉自:http://www.cnblogs.com/jeffamy/archive/2006/05/11/396880.html

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.