2010-05-25 82 views
3

我們有兩個asp.net站點(基於episerver)。
使用Telerik Asp.net控件。
我們有一些功能,我們希望在這兩個站點都可用。
現在,其中一個網站使用webparts/usercontrols,另一個使用usercontrols。如何在網站之間共享用戶控件/功能?

有沒有什麼辦法來分享這些網站之間的功能?
我希望能夠在這些網站之間共享用戶控件。

回答

3

因爲你談論我假設你的用戶控件也有是用戶控件,這使得這個棘手的部分.ascx文件。我想理想的解決方案是將所有東西都移動到服務器控件中,這樣你就可以引用程序集,但是如果你從其他控件使用.ascx文件繼承,那麼你就會陷入它們之中。把它處理

一種方法是使用連接在Visual Studio功能的文件(添加現有文件,單擊向下箭頭,選擇連接選項)共享同一個解決方案中的項目之間的相同物理文件。這並不理想,因爲您必須確保在部署之前將ascx文件複製到兩個站點(我之前已經使用後構建腳本完成了它),但仍然有很多仍然非常脆弱。

另一種技術上比較複雜的選擇,但可能是一種「更好」的處理方式,那就是使用Virtual Path Provider來爲你完成工作。 Here是一篇文章,討論如何使用虛擬路徑提供者來做你想做的事情。

+0

葉普我有ascx文件我會看看你建議的鏈接。 我確實知道服務器控制選項,但我寧願使用ascx文件。 謝謝 – 2010-05-26 07:30:29

2

啓動一個新的類庫項目,在您的站點項目中引用該項目,然後將常用控件和代碼拖出到庫項目中。

+0

但這並不包括ascx文件對不對? – 2010-05-26 07:31:15

0

提到的一樣,你可以將文件放在一個目錄VPP在生活環境和方式只需要ASCX-文件複製到一個文件夾中的兩個站點代碼盈更新。雖然代碼隱藏更新將需要爲兩個站點構建和覆蓋的DLL。

如果你在你的開發環境中使用SVN你也可以設置一個svn:從項目的一個外部鏈接的文件夾和方式只有代碼和它的修訂歷史記錄在一個存儲庫中。

相關問題