我无法理解 Razor 语法的工作原理。
据我了解,它允许您将服务器端代码直接嵌入到页面中,但即使客户端可以与之交互,它也会向客户端保留所有这些代码。
我习惯了 ASP.net web View 和那种性质的东西 - Razor 语法本质上是做回发并且所有代码都包含在页面中,还是客户端与服务器端交互的方式代码根本不同?
如果这太开放了,请给我留下关于如何更加关注问题的评论。恐怕我还不够了解,无法提出有针对性的问题。
谢谢!
最佳答案
据我了解:
<强>1。 Razor 语法的工作原理:
可以看到 Razor 类似于 Web Form 中的 scriplet。例如,您想获得 Name
的 Human
类,在 .cshtml
文件,你写:
<div>Name is @Model.Name</div>
并且在 aspx
,你写:
<div>Name is <%= Human.Name %></div>
Razor 和 scriplet 都将在返回 HTML
之前进行处理文件给客户端。按照上面的例子,如果你查看你的 HTML 网页的源代码,你会看到(Forte 只是一个例子):
<div>Name is Forte</div>
因为代码经过处理,所以客户端看到的只是HTML结果。
2.客户端如何与服务器交互?
在Web Form中,当你想访问服务器时(比如处理click
按钮事件),你可以通过set OnClickListener
生成调用的函数。按钮,一切都会自动为您完成。
但是,在 MVC.NET 中,您必须通过 Ajax 调用来完成,或者将您的按钮放在 <form>
中。 .
如果您有任何问题,请随时告诉我:)
关于c# - Microsoft Razor Syntax 如何在不向客户端公开的情况下运行服务器端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32078645/