2009-12-04 13 views
0

好的,這是我的情況; 我有一個MasterPage。在左側是用於導航的UserControl。在這個UserControl中,我有另一個UserControl,它顯示了當前「活動」選擇的詳細信息。ASP.NET 3.5:當在另一個UserControl中執行一些操作時刷新UserControl中的某些值

我想做什麼; 當用戶選擇主要內容區域中的客戶時,我想在ActiveSelection控件(上面提到的)中填充相關詳細信息。到目前爲止,我發現的唯一方法是將相關客戶ID存儲在會話中,然後重定向回自己。 ActiveSelection控件然後可以檢索並執行它的操作。當前頁面被刷新並且其狀態丟失,這遠非理想狀態。

注意:不確定這是否相關,但MasterPage的內容區域由Panel控件(而不是ContentPlaceHolder)組成,並且UserControls動態添加到此面板(當然不是我的設計)。不應該有任何區別,但...

在此先感謝!

+0

您可以在解決方案中使用Ajax嗎? – 2009-12-04 01:42:01

+0

我現在認爲這將是必要的。我想我可能需要使用Chris在下面提出的解決方案來通知UserControl,然後使用一些Ajax來更新控件客戶端。我之前沒有真正做過任何Ajax - 關於如何將更新值發送到客戶端而不必重新加載頁面的指針? – Dave 2009-12-04 03:19:53

回答

0

如果您有兩個要「溝通」的獨立控件,請向控件添加一個事件以處理任何觸發事件,然後讓填充這兩個控件的頁面爲這些事件註冊並採取任何需要。通過這種方式,兩個控件都不必真正瞭解對方,並且將來任何人都可以使用控件中的事件。

+0

感謝您的建議克里斯。這種方法的問題是ActiveSelection控件在意識到引發的事件後沒有得到刷新/重新加載的機會。 – Dave 2009-12-04 03:16:47

相關問題