【问题标题】:Rendering of a form in winforms and asp.net dynamically在 winforms 和 asp.net 中动态呈现表单
【发布时间】:2009-08-17 01:24:53
【问题描述】:
我在数据库中存储了描述面板、组合、文本框、标签等的值...根据用户在设置表单上设置的内容动态生成,主要用于输入,包括验证规则和在表单设置期间要指定的数据类型。
问题是,我需要在 winforms 和 asp.net 中呈现“表单”。什么是解决这个问题的好方法?我需要不同平台(asp.net 和 winforms)上的两个结果看起来和行为相同。我正在考虑使用 XSLT,但不确定如何将其应用于 winforms。
请指教。
谢谢。
【问题讨论】:
标签:
.net
asp.net
xml
winforms
xslt
【解决方案1】:
我已经这样做了几次,我的建议是立即意识到您将无法单一来源的界面。 Web 和 Forms 命名空间太不同了。
但是,如果您的数据/业务层足够抽象以处理从两个接口使用的情况,那么您可以走很长一段路。事实上,如果您还没有合适的图层,那么这是处理它的最佳时机。
要考虑的另一件事 - 如果可以在构建表单后对其进行序列化(将它们缓存为 xml 文件或其他任何内容),您可能会发现这样做比每次都构建它们要快得多。我从中获得了很多收获,在 ASP.NET 中缓存“模板”表单可以很好地加快速度。
祝你好运!
【解决方案2】:
如果您确实需要应用程序的 winforms 和 Web 版本的外观和行为完全相同,我认为您唯一的选择是将其编写为 ActiveX 控件(是的,它们仍然存在),或者托管在表单上或托管在 Web 浏览器中。我想使用 Flash 也是一种选择(尽管显然不是 .Net 的),并且 Silverlight 是一种可能性(您可以将 Silverlight 应用程序从 web 版本移植到 winforms 版本,但不是另一个方向 - 至少不容易)。