2012-05-31 28 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页面作为后备。