2011-02-02 65 views
0

我有一個Visual Studio解決方案,包含.cs和.vb項目以及.aspx文件。像往常一樣,.aspx文件實現一個ASP.NET站點並調用.cs和.vb項目。從.cs(或.vb)調用.aspx?

是否有可能做反向...即只能從一.cs或.vb文件的方法的調用在.aspx文件? (假設爲這個問題的目的,有一個很好的理由這樣做)

+0

爲什麼要將方法放在ASP頁面中?除非你正在談論一個javascript方法? – 2011-02-02 13:39:25

回答

1

代碼駕駛你的ASPX頁面本質上只是一個類(無論是從代碼隱藏或在aspx文件本身),因此可以被實例化/通過引用該組件或項目的其他類引用。 (正如Matías指出的,如果您使用「Web站點」而不是「Web應用程序」,這可能是個問題,但我通常不使用前者,因此不能幫助您。)

One要記住的是這個函數的確切功能被稱爲...

  1. 該方法是靜態還是需要類的運行實例?
  2. 如果是實例方法,是否需要在執行頁面或頁面的任何實例上調用它?

這第二個可能變得棘手。如果頁面的當前實例需要被調用類引用,那麼該頁面將需要通過方法調用鏈傳遞對自身的引用,這會導致調用頁面上方法的類。聽起來對我來說很醜。

你能更詳細地描述你試圖在這裏實現什麼樣的功能?

0

假設代碼隱藏Page類的ASPX的具有公共成員像一些方法,爲什麼不呢? ASP.NET應用程序或預編譯的網站編譯爲標準的常規.NET程序集。

無論如何,如果它是一個網站,這是一個壞主意,因爲它被編譯成多個程序集,並且如果你不使用固定的程序集名稱,將很難捕捉到,因爲名稱是不可預測的。但是如果你正在談論一個ASP.NET應用程序,沒有問題。

+0

如何讓網站使用固定的程序集名稱?另外,如果我不想將公共方法放在代碼隱藏中,我會如何將其嵌入到.aspx文件中 – JoelFan 2011-02-02 13:46:53