2012-05-31 66 views
0

我對silverlight很新穎,我使用silverlight創建網格並通過WCF Service填充它,控件託管在一個ASP.net頁面 中有一些過濾控件在asp頁面中,我讀它們,將它們傳遞給silverlight控件,並將它們存儲在一個變量中以傳遞給wcf服務,問題在於某些時候變量失去了它的價值。 我調試應用程序,發現事件處理程序「Application_Exit」被稱爲 我想這是因爲重新加載控件或其他東西。 沒有人知道如何去解決這個特定的障礙我在Silverlight應用程序中丟失了變量值

在此先感謝

+0

聽起來像您的ASP.NET頁面正在發射回發或可能是ajax部分回發,即導航頁面或移除Silverlight HTML對象。如果是這種情況,則必須更改ASP.NET設計,以便不導航或替換Silverlight內容。 –

+0

這正是問題所在,感謝您的幫助 –

回答

1

與ASP.Net回發控件集成Silverlight的(假設你現在回傳控制)是一個糟糕的組合。

您的過濾器需要在Silverlight應用程序中,或者您需要使用僅客戶端的Javascript來通知Silverlight的更改。確保他們不回發頁面(儘可能多的ASP.Net控件)。

我傾向於將更多(全部?)遷移到Silverlight中,因爲您沒有控制狀態問題。如果未安裝Silverlight,則會有一個普通的ASP.net頁面作爲後備。