我很难理解Razor语法是如何工作的。
我的理解是,它将允许您将服务器端代码直接嵌入到页面中,但这会使所有这些都不受客户端的影响,即使客户机可以与其交互。
我已经习惯了ASP.net的web视图和类似的东西- Razor语法本质上是做回发,所有的代码都包含在页面中,还是客户端与服务器端代码的交互方式根本不同?
如果这是太开放的,请留下我的意见,如何更集中的问题。恐怕我还没有足够的理解来提出重点明确的问题。
谢谢!
发布于 2015-08-18 17:27:12
据我理解:
1. Razor语法如何工作:
您可以看到Razor与Web表单中的抄写器相似。例如,您想要获得Human类的Human,在.cshtml文件中,您可以编写:
<div>Name is @Model.Name</div>在aspx中,您可以这样写:
<div>Name is <%= Human.Name %></div>在将HTML文件返回给客户端之前,Razor和scriplet都将被处理。按照上面的示例,如果您查看HTML网页的源代码,您将看到(Forte只是一个示例):
<div>Name is Forte</div>因为代码是经过处理的,所以客户机所看到的只是HTML结果。
2.客户端如何与服务器交互?
在Web中,当您想要转到服务器(比如句柄click按钮事件)时,您可以生成通过为按钮设置OnClickListener来调用的函数,并且所有事情都是自动为您完成的。
但是,在MVC.NET中,您必须通过Ajax调用来完成,或者将按钮放在<form>中。
如果你有什么问题,请告诉我:)
发布于 2015-08-18 17:16:48
mvc运行所有这些内容服务器端,并为客户端提供最终的html/javascript生成。
发布于 2015-08-18 17:25:24
如果你把这个放在视图里的话
@{ var var1 = "Hello World"; }
<p>The value of var1 is: @var1</p> 所有事情都发生在服务器上
当用户请求此页面时,服务器获取上面的文本并将其发送到视图引擎。
然后服务器逐行运行文本并“编译”它。
然后服务器将结果返回给用户:
The value of var1 is: Hello World如果用户创建了一个视图源,他只会看到:
<p>The value of myMessage is: Hello World</p>因此,客户端上的用户编写了一个简单的URL,他得到的结果只是上面的一行。
https://stackoverflow.com/questions/32078645
复制相似问题