我在網頁中有WUC。我想從這個網頁調用一個函數但是來自WUC?如何在Web頁面中調用函數來自Web用戶控件?
有關詳細信息: 叫我的網頁 「pg_reportThreats」 有命名函數 「fn_bindAccordion();」和我有用戶控件命名爲「WUC_CommentsAndReplies」我想是調用函數「fn_bindAccordion()」從我的頁面「pg_reportThreats」 ..
我在網頁中有WUC。我想從這個網頁調用一個函數但是來自WUC?如何在Web頁面中調用函數來自Web用戶控件?
有關詳細信息: 叫我的網頁 「pg_reportThreats」 有命名函數 「fn_bindAccordion();」和我有用戶控件命名爲「WUC_CommentsAndReplies」我想是調用函數「fn_bindAccordion()」從我的頁面「pg_reportThreats」 ..
這在技術上是可以從Control.Page屬性來訪問網頁。然後,您可以施放此頁到正確的類型,例如:
var myPage = this.Page as pg_reportThreats;
myPage.doSomething();
然而,這通常不是「好設計」的控制取決於在頁面上。 用戶控件的想法是它是一個可重用組件,就像一個按鈕。 當你點擊按鈕時,它不會調用頁面並要求它做某件事。通過按鈕類,您可以訪問OnClick事件,以便頁面可以聽取該事件(如果需要)並自行完成某些操作。 你可以閱讀更多關於用戶控件的文章ASP.NET User Controls 和Events in UserControls
當我用你的上面的代碼... var myPage = this.Page as pg_reportThreats; myPage.fn_bindAccordion(); –
此代碼出現錯誤:「pg_reportThreats」無法找到或丟失目錄! –
這很可能是這種情況。當你的頁面取決於你的控件,而你的控件取決於你的頁面時,你首先編譯哪兩個?這就是所謂的循環引用/循環依賴,這也是使用這種方法不好的原因之一。我認爲在你的情況下,你需要使用自定義事件的解決方案。我鏈接到的UserControls文章中的事件應該可以幫助您開始使用該文章。 –
顯示一些小代碼示例! – mybirthname