我正在研究现有的MVC3应用程序。通常在处理MVC3项目时,我希望看到HTML&视图中的MVC3标记(.cshtml
)。
但是,对于此应用程序,每个视图只能调用XSLTEngine.Raw()
。通过这段代码来看,这是对XSL文件的调用,这些文件包含类似XML的语法,其中包含看似呈现为HTML的元素(可能是XSLTEngine.Raw()
方法)。
在View文件中将此内容存储在XSL文件而不是HTML / MVC3语法中有什么好处?
答案 0 :(得分:4)
很难说。应用程序可能正在完成XSLT非常适合的工作(它是针对某些任务优化的语言);或者它可能正在重用已经存在于XSLT中的代码;或者它可能是由具有XSLT技能并且没有时间学习不同技术的人编写的;或者它可能是由对XSLT有宗教信仰的人编写的(很多程序员都对特定的编程语言有宗教依据,我的意思是他们选择美学而不是科学标准; XSLT也不例外)。
这些答案与您对“为什么用L写的X?”形式的任何问题都有相同的答案。其中X是软件组件,L是编程语言。
答案 1 :(得分:1)
如果这是使用XML作为数据源的旧应用程序的端口,那么转换为MVC最简单的方法是重用XML数据并使用XSLT对其进行转换。
老实说,在所有上移植这样的应用程序是没有意义的(实质上,它是不同框架上的相同的应用程序),除非可以& #39;让开发人员不再熟悉旧技术。
答案 2 :(得分:1)
或许目标是为最终客户端平台/设备提供更广泛的支持?
虽然您可能没有使用过去习惯的传统MVC功能,但您仍然可以使用控制器 - 这是我的意见非常整洁,并且可以轻松地处理(和组织)页面请求/响应。更不用说对参数映射的强大内置支持(以及可能的模型绑定,但不确定如何/如果它适用于您的XSL)
快速浏览this short presentation,它突出了XSLT相对于HTML的一些主要优势 - 请查看它!