2009-12-04 14 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

相关问题