cod*_*biz 26 .net asp.net asp.net-mvc razor
我认为微软必须有理由用RAZOR语法增强ASP.Net.
在visual studio 的Create New Website Project对话框中,还有另一个创建ASP.Net(Razor)的选项.我第一次遇到Razor一词是因为当我读一本关于Asp.Net MVC的书时,我不知道它存在于ASP.Net

我知道Razor的语法是什么,在MVC 3中引入.在问这个问题之前,我决定为ASP.Net(Razor)创建一个测试项目,看看它与普通的ASP.Net webforms和ASP.Net有什么不同. MVC.我发现没有像我们在MVC中那样的模型/视图/控制器文件夹.
我发现Master页面的指定方式不同,Master页面更清晰,没有更多 <asp:ContentPlaceHolder />
但我的问题是:
.cshtml,没有更多的代码隐藏吗?更新: 特别是ASP.NET Web页面旨在使已经了解HTML的人们可以轻松地向其页面添加服务器处理.对于学生,业余爱好者,一般不熟悉编程的人来说,这是一个不错的选择.对于具有非ASP.NET Web技术经验的开发人员来说,它也是一个不错的选择
更新 ASP.NET网页 ASP.NET Web Pages面向那些想要一个简单的Web开发故事的开发人员,这与PHP一致.在Web页面模型中,您可以创建HTML页面,然后将基于服务器的代码添加到页面中,以便动态控制标记的呈现方式.Web Pages专门设计为轻量级框架,对于了解HTML但可能没有广泛编程经验的人来说,它是进入ASP.NET的最简单的入口点 - 例如,学生或业余爱好者.对于了解PHP或类似框架的Web开发人员来说,这也是开始使用ASP.NET的好方法.
拜托,我需要你的技术意见.谢谢.
Sim*_*ier 19
在MVC模式中,M是模型,C是控制器,V是视图.因此,很自然地,在ASP.NET MVC模型中,存在View Engine的概念.Razor只是提供的View Engines之一.开箱即用的另一个是"旧的"WebForms(你也可以编写自己的View Engine).所以Razor没有代码隐藏的概念,它保持在WebForms视图引擎的边界内.
所以这一切都说明了一切.Razor处理MVC的View部分(如果你选择使用它而不是WebForms).它与M或C无关.
就个人而言,如果您选择ASP.NET MVC模式,或者使用没有MVC的纯WebForms,我肯定会选择Razor View Engine,因为Razor的设计要比Webforms更简洁,更简单.它也只是更近期,所以它试图......简直更好:-)
另外,Razor Parser也可以在 ASP.NET MVC 之外使用.它是在一个不依赖于MVC或Web组件的程序集中实现的.有关详细信息,请参见此处:http://www.west-wind.com/weblog/posts/2010/Dec/27/Hosting-the-Razor-Engine-for-Templating-in-NonWeb-Applications
Gle*_*rie 18
这是一个很好的问题.首先,让我们来描述一下Razor.
Razor是一个解析服务器端代码并发出Html的引擎,就像ASP.NET Web Forms一样,只有不同的,可以说更精简和简洁的语法.
Razor v.Web Forms Sidebar:在ASP.NET Web窗体中,您必须确定何时开始使用"<%"编写服务器代码,然后在编写完服务器代码时需要使用"%>"来识别它.我喜欢ASP.NET Web Forms,但这很笨重.使用Razor,您可以确定何时开始使用"@"编写服务器代码,然后在下次开始编写服务器标签时(以"<"开头),它"确定"您已完成服务器代码.编写与某些服务器代码混合的html是一种更简洁的方法.
ASP.NET Web Pages是一个用于创建简单Web应用程序的框架.ASP.NET MVC是一个使用模型 - 视图 - 控制器(MVC)模式使用Web窗体或Razor引擎创建Web应用程序的框架.ASP.NET Web窗体是一个使用Web窗体渲染引擎创建Web应用程序的框架.
最终目标是根据正在构建的应用程序的复杂程度提供选择.了解每一项都有助于您为您的应用做出正确的选择.
其他链接:
默认情况下没有隐藏代码,但是您可以轻松地使razor文件继承自自定义类:
@inherits Index
Run Code Online (Sandbox Code Playgroud)
然后
public class Index : WebViewPage { }
Run Code Online (Sandbox Code Playgroud)
(此处提供更多信息:http : //www.compiledthoughts.com/2011/01/aspnet-mvc3-creating-razor-view-engine.html)
这更像是一种老式的网络制作方式,更像是asp3。与mvc的区别在于mvc提供了一个庞大的框架,该框架支持现实世界中的应用程序(使用路由,控制器和操作,而不仅仅是“标记中的代码”)。
我认为这样做是为了使事情变得非常简单,但我实际上并不知道...
最后,我总是选择带剃须刀的asp.net mvc。
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
27118 次 |
| 最近记录: |