ASP.NET/Jquery 控制设计:在哪里保存HTML生成引擎



这是一个设计问题。我希望你们能够帮助我解决这个问题。

我正在开发一个自动完成控件。它基本上是一个基于服务的控件,其中服务调用的职责是在用户输入几个单词时获取建议列表(下拉菜单)的 HTML。

服务器端代码在 C# 中,客户端在 JQuery/Javascript 中。

该控件已开发为使用两种模式:

  1. 一个 ASP.NET 控件(在生成的响应中初始化 jQuery 小部件)。

  2. 一个独立的jQuery小部件,使用服务器端HTML生成引擎。

我将建议菜单(下拉菜单)的HTML生成引擎保留在服务器上。控件用户可以选择在服务器上缓存其数据源。如果未启用缓存,则在每个服务请求中将数据源发送到服务器以进行 HTML 生成。

我的问题是 - 我也应该在客户端(JQuery/Javascript)编写HTML生成引擎吗?

到目前为止,我发现了"编写单独的客户端HTML引擎"的以下优点和缺点:

优点:

    避免了对
  1. 服务器请求时,为小到平均大小的建议列表生成更快的 HTML 。

  2. 没有服务器端依赖,jQuery 小部件模式将是完全独立的,因为不需要服务器端代码。

缺点:

  1. 代码复制:C#和jQuery/javascript中的同代引擎。

  2. 增加维护:随着新特性/功能的添加,双方都必须进行更改。

我会在客户端生成所有必需的动态 html。这要快得多。

服务器或 Web 服务可以返回一组结果 (JSON)。我会用它来填充和显示 javascript 中的结果视图。

asp.net 控件也会将数据呈现为 JSON,并在客户端使用 JavaScript 根据需要显示它。

如果在 html 中使用数据,则不会出现您提到的代码重复和增加维护的缺点,无论它是由控件呈现还是从服务获取。

相关内容

  • 没有找到相关文章

最新更新