【发布时间】:2010-09-27 12:43:07
【问题描述】:
我能否在 Silverlight 中动态创建控件而无需回发到服务器(即使是异步的)。 silverlight 拖放是否需要回发?
我问这个是因为我有一个 asp.net 应用程序,我可以在其中动态创建/删除许多控件。因此,在回发后,我收到了视图状态错误,指出控制树与视图状态树不匹配。
我可以在 Silverlight 中避免此类问题吗?
【问题讨论】:
标签: c# asp.net silverlight dynamic
我能否在 Silverlight 中动态创建控件而无需回发到服务器(即使是异步的)。 silverlight 拖放是否需要回发?
我问这个是因为我有一个 asp.net 应用程序,我可以在其中动态创建/删除许多控件。因此,在回发后,我收到了视图状态错误,指出控制树与视图状态树不匹配。
我可以在 Silverlight 中避免此类问题吗?
【问题讨论】:
标签: c# asp.net silverlight dynamic
silverlight 控件/应用程序中所做的一切都发生在客户端上。如果有任何异步发生,Web 服务调用。这就是使用 silverlight 的优点
【讨论】:
是的,您可以向页面动态添加控件,而无需往返服务器。
拖放也在客户端执行。
Silverlight 更像是一个桌面应用程序,它与服务器对话只是为了获取/保存数据。
在 Silverlight 中动态添加控件就像新建适当的控件类并将其插入渲染树(例如,通过将其添加到父控件)一样简单。
【讨论】:
这是一个示例:http://asd.murven.com/blog/post/2009/10/16/Silverlight-Adding-controls-dynamically.aspx。
但是,我不建议仅仅为了消除此错误而切换到 Silverlight。仅当您真正需要类似客户端的应用程序而不是真正的 Web 应用程序时。 ASP.NET 也适用于动态创建控件。请记住在每次回发期间初始化服务器上的控件。如果这没有帮助,我建议您使用一些代码提交您的问题的描述,以帮助我们与您一起解决。
兄弟。莫腾
【讨论】:
Silverlight 中发生的绝大多数事情不涉及回发。事实上,我想说 Silverlight 代表了一种完全不同的心态。每当有来自 Silverlight 的回发时,它几乎总是异步的,并且没有服务器需要担心的“视图状态”。在我看来,它让 ASP.NET 在编写 Web 应用程序时看起来像个笑话。
【讨论】: