VB6 ActiveX控件的替代方案 - 基于Silverlight或.NET的ActiveX控件

时间:2009-10-29 10:00:00

标签: .net silverlight activex internationalization

我有一个Web应用程序,它广泛使用Windows公共控件ActiveX控件进行用户界面。这些主要包括Listview,Treeview,Common Dialog等。通过这些控件,我在加载时获得了非常好的性能,而且这些控件提供了与JavaScript的良好通信。

最近我在应用程序中启用了支持Unicode字符,我开始面临这些控件的问题,他们只是将这些Unicode字符呈现为“???”。这特别是双字符(例如中文,日文等)。

我想用新的和更强大的东西替换这些控件。当然我不想使用.NET服务器控件或任何客户端基础脚本控件,如ExtJS或DhtmlX,因为性能永远不会相同(使用ActiveX加载15000行的性能,其中数据通过JavaScript逐行传递相当快)。

如果我想替换这些控件,我想知道我有什么选择。它是基于Silverlight还是基于.NET的ActiveX控件?我的客户端浏览器将始终是IE7 +并且客户端上具有Silverlight或.NET框架不是问题。但是主要标准是这些控件的使用以及与JavaScript的通信以加载这些控件应该与我们目前使用的VB6 ActiveX控件一样接近。

如果有人可以建议提供这些控件的任何供应商都会很棒。

提前致谢。

2 个答案:

答案 0 :(得分:0)

虽然有些供应商销售您可以使用的Silverlight控件,但您无法在HTML页面中直接使用这些控件。相反,您将不得不创建一个Silverlight应用程序,它可以是一个控件的简单包装器。 Silverlight应用程序可以使用JavaScript与Silverlight应用程序进行交互,从而与浏览器对象模型进行交互,反之亦然。但是,如果性能很重要,您应该让Silverlight应用程序直接与Web服务器交互。

我想提一下,Silverlight不需要安装.NET框架。 Silverlight也可以在Mac上运行,Silverlight运行时包含一个修剪过的.NET框架版本。

答案 1 :(得分:0)

Silverlight(以及工具包)具有您提到的开箱即用的所有控件。它与Javascript的良好交互不仅可以使用javascript来操纵Silverlight内容,还可以很好地访问包含浏览器的Silverlight应用程序代码。

但是,由于您将始终使用IE7并且很乐意在客户端上安装SL和.NET框架,因此建议您对客户端计算机进行重要控制。在这种情况下,为什么要在浏览器中提供UI?

您可以通过一键安装(或组策略库MSI安装)构建基于WPF的应用程序。你可以使用一个完全Silverlighted应用程序与RIA,所以浏览器只是一个主机(与Javascript的良好通信变得无关紧要)。