2010-02-17 73 views
2

我不是初學者,但我對這個問題的看法越多,我就越難找到一個優雅的解決方案。編寫一個C#.NET網站,我意識到有幾個組件需要在不同的頁面中使用,或多或少具有相同的功能,並且我想找到一種方法將它們編寫一次然後再使用。aspx可重複使用的組件

例如,我在幾個頁面中使用的搜索框或多個GridViews。 這個「組件」是由幾個ASPX控件,方法,也許是一些JavaScript等構建而成的。 它們太複雜了,不能被複制,太具體以至於無法創建爲控件。

你認爲應該如何編寫一個重用這些元素的最佳方法。 這是到目前爲止,我已經找到了解決方案,每次各用自身的缺點:

  1. IFRAME - 因爲事實上,所有的問題,它爲我工作正常(搜索框)。我寫了一個帶有所有搜索行爲的aspx/cs頁面(這非常複雜) - 然後在每個頁面上我想要這個搜索框,我添加一個iframe。

  2. 主頁 - 這一個我發現很棘手。我發現你可以編寫一個嵌套的母版頁,但我無法弄清楚這對我有什麼幫助。主頁面方法 - 將子頁面設置爲第一頁(其調用其父母)。但就我而言,我的主頁有他的孩子的組成部分。

3.UpdatePanel - 我可以使用UpdatePanel - 並編寫一個共享函數,用它填充所需的組件和代碼。好的,這可能會工作,但代碼很難維護(你需要用C#手動編寫所有組件)

任何想法?我錯過了任何微不足道的解決方案嗎?

+1

ascx怎麼樣? – epitka 2010-02-17 20:26:44

+1

@epitka,ascx = UserControl – 2010-02-18 02:17:22

+0

@Ranch,你已經提出了7個問題,並且只接受了1個。這是適當的禮節,需要花費0.2秒,並且承認人們在回答你的問題時付出的努力。否則,你會發現自己被忽略。只是說... – 2010-02-18 02:19:53

回答

3

IFrame不是任何組件組合和重用問題的解決方案。

MasterPages是一個更高層次的組合工具,與您的問題無關。

UpdatePanels再次不是重用的解決方案。

撰寫UserControl或沖泡一壺咖啡,並學會寫一個ServerControl

0

我認爲最好的方式做到這一點,因爲你有內部的組件構建用戶控件

有關complixty多的控制,這是可以的,因爲你將花費建立這種控制的時間將節省大量的時間來寫它在每一頁

0

通常,用戶控件做你所描述的,他們有自己的.ascx標記文件與相關.cs代碼隱藏文件。

當然,您可以在UserControl上公開屬性,您可以從其父控件(可以是其他用戶控件)或ASP.NET頁面本身聲明設置屬性。

0

正如我最初所評論的,要麼使用ascx(用戶控件),要麼想要widgetize你的網頁,你可以堅持使用aspx並使用UFrame(jQuery)插件。

相關問題