2011-01-28 68 views
0

我有一個搜索,但不能真的找到一個體面的答案。Web控件到類庫(c#/ ASP.NET)

基本上我有一個Web應用程序和用戶控件(用.ascx,.ascx.cs和.ascx.designer文件)。

用戶控件ascx有一些javascript和基本標記。

是否有可能將整個事物轉移到類庫中並從代碼隱藏中調用它?

我能看到的唯一選擇是在代碼隱藏中創建所有標記/ javascript。

+0

我發現了一個解決方案,實現了Kris所謂的「Semi-Hacky」選項,並在我的博客上描述了一個解決方案([介紹](http://devio.wordpress.com/2011/02/11/creating-asp -net-user-control-libraries-in-visual-studio-2010 /),[implementation](http://devio.wordpress.com/2011/02/11/migration-asp-net-user-controls-to )) – devio 2011-02-11 17:37:35

+0

我還沒有測試過這個,但它看起來是它可能是你所需要的[將Web用戶控件編譯成一個DLL](http:// www。 nathanblevins.com/2008/06/compile-a-web-user-control-into-a-dll-net-c/) – 2011-01-28 14:13:25

回答

2

你有3個選項,據我所知我的第三個選項後面不到有用的,因爲我不記得如何去做。

「最佳」選項(恕我直言):將其轉換爲服務器控件(如您所說,全部在代碼後面)。這將爲您提供更長期的靈活性,而且您不必將JavaScript存儲在代碼本身的代碼中;你可以將它存儲在任何類型的資源文件中加載,所以它不必變成糟糕的代碼湯。

「Hacky」選項:創建一個Web應用程序並將用戶控件放入其中。您可以像引用任何類庫一樣引用此應用程序,並且可以訪問您的控件(授予的權限,當您嘗試引用時可能會產生一些奇怪的名稱空間)。

「Semi-Hacky」選項:請參閱代碼前臺不會自動用於類項目中的代碼。我相信有一種辦法可以將這些鏈接起來,但我不記得如何去做。