代码之家  ›  专栏  ›  技术社区  ›  Seb Nilsson

ASP.NET MVC与XSL

  •  7
  • Seb Nilsson  · 技术社区  · 16 年前

    任何人(可能是XSL爱好者?)能帮我找到使用XSL而不是ASP.NET MVC在网页上处理数据表示的优势吗?

    两个备选方案是:

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


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

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

    6 回复  |  直到 12 年前
        1
  •  7
  •   samjudson    16 年前

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

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

    同样地,若需要用户交互(比如编辑数据),那个么最终您将使用后端代码来处理更新,所以可能会证明一种技术太过火了。。。

        2
  •  6
  •   Keith    16 年前

    首先,它们的速度很慢,在处理整个XML文件之前,必须对其进行解析和验证。作为XML,它也过于冗长,因此比需要的要大。

    其次,转换的工作方式对代码定制工具(如XmlSpy help)来说有点痛苦,但它仍然是一种与大多数开发人员习惯的不同的模型。

    目前,MVC速度非常快,看起来非常有前途,但它确实受到了 <% %> 蜜蜂叮咬了你的代码。使用XML转换可以避免这种情况,但更难阅读和维护。

        3
  •  4
  •   kemiller2002    16 年前

    我过去也使用过这种技术,在我目前的工作地点,我们也使用过这种技术。(我承认,我并不完全喜欢它,但我会扮演魔鬼代言人的角色)这确实是一个主要的建议,推广这个想法可能有点不错。您可以动态地创建xsl,并可以随心所欲地更改页面的外观。是否可以通过其他方法做到这一点……是的,但是构建一个程序来动态修改xml/xsl文档确实很容易。

    我会轻描淡写地用这种方式创建一个系统。你会发现很多你没有预料到的陷阱,如果你对xsl不太了解,也会有一个学习曲线。

        4
  •  1
  •   bleevo    15 年前

    如果要使用XSLT和ASP.MVC,请查看此项

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

        5
  •  1
  •   user29439 user29439    14 年前

    proposal for Pretty XSL ,主要是缓存样式表以增加页面负载并减小数据大小。Steve Sanderson提出了一种稍微不同的方法,使用JavaScript作为控制器 here .

    XForms ,尽管最好的支持是通过 JavaScript library .

        6
  •  0
  •   Brandon    16 年前