2013-09-28 61 views
2

我需要添加代碼的aspx頁面有一個aspx.cs文件,該文件由系統(每個合同)上具有此aspx.cs文件的公司編寫,我無法修改/訪問。 例子:MyFile.aspx並沒有訪問文件MyFile.aspx.cs在asp.net中無法訪問cooresponding .cs文件

我需要在控制頁面使用label.text從頁,並且還取決於IF ELSEIF語句,它會調用其不同的控件,它需要執行。

當一個人無法訪問aspx.cs文件時,這樣做的好方法是什麼?

我花了幾天試圖找出/找出這個問題的答案,並繼續遇到問題。

+3

正如jods所說,這可能比技術問題更爲合法。確保獲得客戶對所選解決方案的明確接受,所以如果供應商起訴你的客戶,你的背後不是被踢的人:-) –

回答

4

你確實在這裏有一個奇怪的現象;)

這裏有一個大膽的想法。您可以更改.aspx文件頂部的Inherits屬性來替代您自己的類。

當然,這意味着您必須重寫頁面背後的所有邏輯 - 或者您可以嘗試讓自己的類繼承原始類,但根據原始代碼的可見性,這可能無效。

另一種選擇是使用反編譯器從編譯後的dll重新創建web項目的所有源代碼。但是,您可能不會被合法地這樣做 - 儘管我會指出,如果您沒有使用代碼的權利,那麼即使您有權訪問,您也可能無權使用.aspx給他們。

+0

合法地認爲我不能使用解壓器並重新創建所有的源代碼。合同如何使得我爲自己撰寫的公司編寫了一些特定的代碼,並且我只能訪問,修改和添加到網絡服務器上的文件。有一些文件,比如我想添加的.cs文件,我們沒有。話雖如此,我想我可以問這個其他公司是否可以添加代碼到文件中,但是,這意味着我不能在更新信息時進行更新,除非我想出一個控制頁面,到其他控制頁面。 – fosscm

+0

至於改變繼承來代替我自己的類,我不知道它會在當前頁面上打破什麼。 – fosscm

+0

請注意,如果您不能重新包裝位於Web服務器上的站點dll,我不確定您將如何改變任何行爲......如果您爲該頁面後面的代碼編寫新類,它將如何裝載和發現?你需要動態注入你的DLL進程...棘手。也許使用'