ASHX呼叫ASPX.cs的方法


問題來自論壇,有網友這樣的要求,在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,那也可以省去了接口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM