所以我玩弄EXT.net(ASP.NET),我有以下情況:asp.net/ext.net:UserControl通知父母操作成功或失敗?
ParentPage.aspx - 包含打開一個Ext.net「窗口」的按鈕;一個使用Javascript完成的Popup。在那個窗口中,我放置一個UserControl(Customer.ascx)。這種用戶控件可以創造顧客,它並因此使用Ext.NET DirectMethod在代碼隱藏,Customer.ascx.cs
Customer.ascx - 包含一些Ext.net控件和代碼來創建客戶的用戶控件目的。
現在,當我撥打DirectMetod CreateNewCustomer時,Customer按預期方式創建,但現在我希望ParentPage知道這個成功(或失敗)的操作並採取相應的行動。
因此,如果操作失敗 - 客戶因某種原因無法創建 - 窗口(彈出窗口)應保持原位並顯示錯誤。但是,如果操作成功,那麼窗口應該關閉,並且應該更新/刷新列表。
我不能/應該在UserControl中放置任何「OnSuccess」代碼,因爲UserControl並不真正知道它是否放置在Window或其他地方,並且它不應該由UserControl來決定是否應該顯示或者不。
所以我需要通知父頁面發生了什麼。我的脊柱反應是在用戶控件中有一個事件,但這當然沒有工作,因爲它是一個異步操作,我不能將消息推送到Web瀏覽器。
也許你可以在UserControl調用的父頁面中放置一個Javascript方法,但這有點醜陋。 UserControl應該能夠以「安全的方式」通知父頁面。它不知道Javascript方法是否存在,所以它可能會調用一個不存在的方法?
任何想法,想法等,將不勝感激=)
我已經看過ScriptManager,並想在我的DirectControl中的UserControl中使用「RegisterStartupScript」。該腳本應檢查另一個名爲「CustomerReportCallback」的Javascript方法,如果存在,請調用該方法。這樣我可以檢查Parent是否有一個Javascript方法,可以在操作成功後用於「回調」。但沒有成功 - 看起來「RegisterStartupScript」只能在Page_Load中? – Ted 2011-03-29 14:40:40