我开始学习ASP.NET MVC3.
因此,在阅读在线和书籍教程时,我经常遇到这个术语"视图引擎".我不知道它是什么.
它实际上做了什么?
为什么这对我来说很重要?
阅读Scott Guthrie的博客文章,了解ASP.NET MVC 的新Razor视图引擎,并阅读这个问题,比较可用的视图引擎.
Razor似乎解决了默认视图引擎的大多数问题.作为开发人员,哪些功能差异会使其成为一个引人注目的选择?缺少哪些功能会阻止您使用它?
我正在探索ASP.NET MVC,我想添加jQuery以使网站具有交互性.我使用StringTemplate移植到.Net,作为我的模板引擎生成html并发送JSON.但是,当我查看页面时,我看不到它.调试之后,我意识到String用于访问属性等$,而jQuery也使用它来操作DOM.哎呀,我看过其他模板引擎,其中大多数使用美元符号:(.
ASP.Net MVC的任何替代模板引擎?我想保留jQuery,因为MSFT宣布它将用于Visual Studio(2008?)
提前致谢 :)
更新
请转到ASP.NET MVC视图引擎比较问题中的答案,获取ASP.NET MVC模板引擎的完整列表,以及它们的优缺点
更新2
最后,我将把JavaScript代码(包括JQuery)放在一个单独的脚本文件中,因此我不担心$模板文件中的混合.
更新3
更改了标题以反映我需要解决的问题.毕竟"Y中的最佳X"是非常主观的问题.
最近我进入了MVC3和Razor,并阅读了几篇关于这些主题的文章,以便更好地理解这个概念.
我一直在阅读Scott Guthrie的博客文章,其中他提供了以下两个例子.第一个是ASPX语法,第二个是Razor语法:


这很棒,但作为ASPX和Razor的公平比较,我有点困惑.
我从来没有见过像这样的ASPX语法的任何工作示例.Repeater自ASP.NET发布以来,开发人员肯定使用过控件等?自从经典ASP以来,我还没有看过类似的语法.
我一直认为将编程代码与标记文件内联,而不是代码隐藏文件是不好的做法.
这样的ASP.NET ASPX开发人员代码是什么?
我正在尝试找到一个HTML模板解决方案,它可以在我的ASP.NET MVC应用程序(.NET 4,IIS 7.5)和浏览器中工作.原因是在服务器(性能,输出到移动设备等)或浏览器(通过AJAX刷新数据)上呈现HTML的相同代码.这不是一个新问题,但我想知道当前的技术趋势是否改变了答案.
我正在考虑的一些想法:
ASP.NET MVC视图引擎比较看起来相关,但没有提到胡子.
更新: 客户端模板抛出:来自LinkedIn工程的小胡子,把手,dust.js以及其中前四位的胡子,它是唯一一个具有原生.NET渲染的东西(需要服务器端JavaScript渲染)服务器).
我想知道是否对asp.net MVC的"最佳"替代视图引擎有一个普遍的共识.到目前为止,我知道Spark,Brail,NHaml,但其他人呢?
我已经设法在ubuntu/apache/mono下运行一个C#asp页面,但我不想在这些ASP页面中编写我的框架,我想直接使用C#然后我将使用模板化语言观点.但我不知道从哪里开始?
C#是一种编译语言,所以...我该怎么做?我会编译所有内容然后将apache挂钩到(单个)可执行文件并传入请求URL吗?我可以请求特定的.cs页面然后让apache告诉它编译,然后只有在它被更新时"显示"它吗?是否可以单独编译"视图"文件,以避免每次更改时都重新编译所有内容?是否有一些我可以使用的"基础",或者我将不得不重新发明访问GET和POST变量(通过阅读标题信息)和我们认为在PHP等语言中理所当然的各种其他东西?
我正在考虑将我的一个项目(以及随后的其他项目之后)切换到Spark View Engine,但在今天的研究之后,我遇到了Visual Studio 2010缺乏Intellisense的问题.不仅如此,似乎该项目是没有定期维护.
所以我有一种感觉,我现在不应该选择Spark.然而,显然NHaml也有同样的"问题".
我知道ASP.NET MVC视图引擎比较在这里有更详细的讨论
但我仍然想你想要选择什么,或者只关注WebForms视图引擎?
我得到了一个示例 MVC 项目,其中包含扩展名为 .aspx 的视图,但是当我使用 VS2013 ASP.Net 向导创建一个新的 MVC 项目时,视图的扩展名为 .cshtml 有 2 种 MVC 项目吗?
我对@的使用有点困惑.在下面的代码中我首先编写Html.ActionLink(...)而不是@Html.ActionLink(...)因为我在一个if块(C#代码).因此,我想确切地了解何时必须使用@以及何时不必使用它.
<td width="32%" align="center">
@if (Model.SeccionImpresos != null)
{
@Html.ActionLink("IMPRESOS", "Index", "Trabajo", null, null, "#impresos", new { id = Model.Id }, null);
}
</td>
Run Code Online (Sandbox Code Playgroud)
我对此有所帮助.
asp.net-mvc ×8
asp.net ×4
razor ×4
viewengine ×4
c# ×2
.net ×1
apache ×1
html-helper ×1
javascript ×1
mono ×1
mustache ×1
syntax ×1
templates ×1