7

任何人(可能是 XSL 爱好者?)都可以帮我找到使用 XSL over ASP.NET MVC 在网页上处理数据呈现的任何优势吗?

两种选择是:

  1. 带有 XSL 的 ASP.NET (MVC/WebForms)
    从数据库中获取数据并将其转换为 XML,然后使用 XSL 模板显示在不同的页面上。

  2. ASP.NET MVC
    从数据库中获取数据作为 C# 对象(或 LinqToSql/EF 对象)并在 MVC 页面上使用内联代码显示它。

XSL 的主要好处是在许多不同的页面上一致地显示数据,例如 WebControls。所以,如果我错了,请纠正我,ASP.NET MVC 可以以相同的方式使用,但使用强类型对象。请帮我看看 XSL 是否有任何好处。

4

6 回答 6

7

我可以看到使用 XSLT 转换数据并将其显示给用户的主要好处如下:

  • 数据已经是 XML 格式
  • 数据遵循明确定义的模式(这使得使用 XMLSpy 等工具更加容易)。
  • 需要将数据转换为多种不同的输出格式,例如 PDF、WMP 和 HTML

如果这是数据的唯一输出,并且不是 XML 格式,那么 XSLT 可能不是最佳解决方案。

同样,如果需要用户交互(例如编辑数据),那么无论如何您最终都会使用后端代码来处理更新,因此可能证明一种技术太过分了......

于 2008-09-02T13:45:10.470 回答
6

在使用 XML 转换时,我总是发现两个主要问题:

首先,它们往往很慢,必须解析和验证整个 XML 文件,然后才能对其进行任何操作。作为 XML,它也过于冗长,因此比它需要的要大。

其次,转换的工作方式对代码来说有点麻烦——像 XmlSpy 这样的自定义工具有帮助,但它仍然是大多数开发人员习惯的不同模型。

目前,MVC 非常快速并且看起来非常有前途,但确实遭受了传统的 Web 开发枯萎<%%>遍布您的代码的蜜蜂蜇伤。使用 XML 转换可以避免这种情况,但更难阅读和维护。

于 2008-09-02T12:51:48.320 回答
4

我过去曾使用过该技术,并且在我目前的工作地点有一些应用程序可以使用它。(我承认,我并不完全喜欢它,但我会扮演魔鬼的拥护者)真的这是主要优势之一,推动这个想法可能有点巧妙。您可以动态创建 xsl 并随心所欲地更改页面的外观和感觉。是否可以通过其他方法来做到这一点...是的,但是构建一个程序来动态修改 xml/xsl 文档真的很容易。

如果您考虑使用 XSL 将一个 xml 文档转换为另一个并将其显示为 html(这正是您正在做的事情),那么您就是在打开您的系统以允许其他程序通过 XML 访问页面上的数据。您可以通过其他方法做到这一点,但使用 xsl 转换会强制它每次都输出 xml。

我会轻而易举地以这种方式创建系统。你会发现很多你没有预料到的坑,如果你不是很了解 xsl,也会有一个学习曲线。

于 2008-09-02T12:57:08.213 回答
1

Jafar Husain 在他的 Pretty XSL 提案中提供了一些优势,主要是缓存样式表以增加页面负载并减小数据大小。Steve Sanderson 在这里提出了一种稍微不同的方法,使用 JavaScript 作为控制器。

另一种类似的方法是使用XForms,尽管对它的最佳支持是通过JavaScript 库

于 2009-02-19T17:21:39.820 回答
1

如果您想使用 XSLT 和 ASP.MVC,请查看此内容

http://www.bleevo.com/2009/06/aspnet-mvc-xslt-iviewengine/

于 2009-06-11T00:34:50.967 回答
0

如果您只打算显示来自 DB XSL 模板的数据可能是一种方便的解决方案,但如果您要处理用户交互。嗯...我认为它根本无法维护。

于 2008-09-02T12:51:14.310 回答