問題來自論壇,有網友這樣的要求,在ASHX內呼叫ASPX.cs的一個方法或函數。
在一個網站中,也許不止只有一個aspx網頁。把aspx.cs內的方法宣告為public,ashx想呼叫時,也不知道是哪一個aspx內的方法。就是某一個aspx.cs有引用了這個ashx,這個ashx也不知道呼叫的方法在當前這個aspx中。為了解決上面的問題,Insus.NET創建一個接口()
在站點中,創建一個aspx,名稱暫叫A.aspx。在a.aspx沒有寫任何代碼,但在a.aspx.cs內,需要實作剛才寫好的接口:
現在我們寫一個Handler:名稱叫B.ashx:
試運行看看:
下面內容于2014-04-11 08:10分補充與整理:在開發asp.net的網站,很多時候想PageA.aspx.cs中想呼叫PageB.aspx.cs內的方法,或是反過來,PageB.aspx.cs中想去呼叫PageA.aspx.cs內的方法。一般情況之下,是不能實例化后呼叫的。如參考此方法,可以迎刃而解。舉個例子說明:
在PageB.aspx.cs定義一個Say方法:
然后PageA.aspx.cs去呼叫PageB.aspx.cs內的Say方法:
網頁執行結果:
既然用到了反射Reflection,那也可以省去了接口。
新聞熱點
疑難解答