现有应用程序混合了本机和第三方控件,并在 Web 浏览器控件中托管 IE 以呈现 html。UI 也有双向更新 - 在本机控件(例如树视图)中选择任何内容都会更新 html,反之亦然,浏览器中的 javascript 或超链接可能会导致某些操作在表单或应用程序级别更新 UI。
我看到了 3 种可能的转换路径:
- Silverlight 似乎是转换的最佳候选者,但如果尝试模仿现有界面,我们只能在 SL4 中进行,而且只能在浏览器模式外进行,这使得这种转换有点毫无意义。我知道存在不会在无窗口模式下显示 HTML 的控件,例如 C1RichTextBox,但很明显,在不久的将来,这样的控件将不会像 IE 那样正确呈现任何任意 html(不是全部html在我的控制下)。另外,正如我之前在 Windows 窗体中提到的,可以从 Javascript 调用外部 C# 方法(通过鼠标在表格中选择行)并相应地更新 UI(SL4 中的 webbrowser 会这样做,但正如在浏览器模式下提到的那样)。
- 我想,所有这些都可以在 ASP.Net(Web 表单或 MVC)中使用 AJAX 和 jQuery UI 完成,但是,我相信,这是更多的工作。
- 可能 ASP.Net 外观作为主站点/应用程序来显示 HMTL 和独立的 Silverlight 模块在单独的浏览器选项卡中生成(我不确定它是否比 2 更简单)。
也许,我遗漏了一些东西,对于熟悉所有这些技术但尚未交付实际应用程序的多面手来说,还有另一种更好、更简单的转换方法?