2015-12-29 23 views
-4

我在網頁中有WUC。我想從這個網頁調用一個函數但是來自WUC?如何在Web頁面中調用函數來自Web用戶控件?

有關詳細信息: 叫我的網頁 「pg_reportThreats」 有命名函數 「fn_bindAccordion();」和我有用戶控件命名爲「WUC_CommentsAndReplies」我想是調用函數「fn_bindAccordion()」從我的頁面「pg_reportThreats」 ..

+0

顯示一些小代碼示例! – mybirthname

回答

1

這在技術上是可以從Control.Page屬性來訪問網頁。然後,您可以施放此頁到正確的類型,例如:

var myPage = this.Page as pg_reportThreats; 
myPage.doSomething(); 

然而,這通常不是「好設計」的控制取決於在頁面上。 用戶控件的想法是它是一個可重用組件,就像一個按鈕。 當你點擊按鈕時,它不會調用頁面並要求它做某件事。通過按鈕類,您可以訪問OnClick事件,以便頁面可以聽取該事件(如果需要)並自行完成某些操作。 你可以閱讀更多關於用戶控件的文章ASP.NET User ControlsEvents in UserControls

+0

當我用你的上面的代碼... var myPage = this.Page as pg_reportThreats; myPage.fn_bindAccordion(); –

+0

此代碼出現錯誤:「pg_reportThreats」無法找到或丟失目錄! –

+0

這很可能是這種情況。當你的頁面取決於你的控件,而你的控件取決於你的頁面時,你首先編譯哪兩個?這就是所謂的循環引用/循環依賴,這也是使用這種方法不好的原因之一。我認爲在你的情況下,你需要使用自定義事件的解決方案。我鏈接到的UserControls文章中的事件應該可以幫助您開始使用該文章。 –

相關問題