2008-09-02 82 views
7

任何人(也许是一个XSL粉丝?)能帮我找到任何处理与ASP.NET MVC上的XSL的网页上的数据表示的优势?ASP.NET MVC与XSL

两个备选方案:

  1. ASP.NET(MVC/WebForms的)与XSL
    充分利用数据库中的数据并将其转换为XML,然后将其与不同的页面显示XSL模板。

  2. ASP.NET MVC
    获取从数据库如C#对象(或LinqToSql/EF-对象)的数据,并与MVC-页直列代码显示它。

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

回答

7

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

  • 的数据已经是XML格式
  • 数据如下井定义的模式(这使得使用像XMLSpy这样的工具更容易)。
  • 数据需要转换成许多不同的输出格式,例如, PDF,WMP和HTML

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

同样,如果需要用户互动(如数据的编辑),那么你最终会采用后端代码反正来处理更新,因此可能证明一个技术太远......

0

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

6

我总是发现两个主要问题与XML转换时:

首先,他们往往是相当缓慢的,整个XML文件必须解析和验证,然后才能用它做任何事情。作为XML它也过于冗长,因此比它需要更大。其次,这种方式转换的工作对于代码 - 如XmlSpy的帮助等自定义工具来说有点痛苦,但它仍然是大多数开发人员习惯的不同模型。

目前MVC非常快速,看起来非常有前途,但确实遭受了传统的网页开发障碍<%%>蜂遍遍您的代码。使用XML转换可以避免这种情况,但难以阅读和维护。

+0

有了另一种观点引擎如剃刀的到来,蜂蜇伤,现在应该伤害少。 – 2012-01-15 17:58:25

+3

@RobertHarvey - 剃刀的伟大,`@`语法比`<%`好(至少对于简单的语句),但它仍然存在输出和代码之间切换的根本问题。请注意,这是一个3岁半的答案 - 当时MVC是'有前途的',现在我认为你会为使用XML转换而疯狂。 – Keith 2012-01-15 23:03:51

4

我过去曾经使用过这种技术,并且有些应用程序在我目前的工作地点使用它。 (我承认,我不完全是它的粉丝,但我会扮演魔鬼的拥护者)真的,这是主要的优势之一,并推动这个想法可以是挺整洁的。您可以动态地动态创建xsl,并随时改变页面的外观和风格。是否有可能通过其他方法来做到这一点......是的,但构建一个程序来实时修改xml/xsl文档非常简单。

如果您想使用XSL将一个xml文档转换为另一个xml文档并将其显示为html(这实际上就是您正在做的),那么您打开系统以允许其他程序访问通过XML页面。您可以通过其他方法来完成此操作,但使用xsl转换会强制每次输出xml。

我会轻率地用这种方式创建一个系统。你会发现很多你没有预料到的坑坑洼洼,如果你不知道xsl真的很好,那么也会有一个学习曲线。

1

贾法尔·侯赛因提供他的proposal for Pretty XSL几乎没有什么优势,主要是缓存样式表以增加页面加载和减小数据大小。 Steve Sanderson提出了使用JavaScript作为控制器here的稍微不同的方法。

另一种类似的方法是使用XForms,但最好的支持是通过JavaScript library