c# - Microsoft Razor Syntax 如何在不向客户端公开的情况下运行服务器端代码?

标签 c# asp.net .net razor

我无法理解 Razor 语法的工作原理。

据我了解,它允许您将服务器端代码直接嵌入到页面中,但即使客户端可以与之交互,它也会向客户端保留所有这些代码。

我习惯了 ASP.net web View 和那种性质的东西 - Razor 语法本质上是做回发并且所有代码都包含在页面中,还是客户端与服务器端交互的方式代码根本不同?

如果这太开放了,请给我留下关于如何更加关注问题的评论。恐怕我还不够了解,无法提出有针对性的问题。

谢谢!

最佳答案

据我了解:

<强>1。 Razor 语法的工作原理:

可以看到 Razor 类似于 Web Form 中的 scriplet。例如,您想获得 NameHuman类,在 .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/

相关文章:

c# - 没有编码的 ASP.NET MVC Razor 渲染

asp.net - 如何像ajax一样向 View 发送消息

c# - 引用 dll 以及何时将 Copy Local 设置为 true

c# - ViewBag 抛出 NullReferenceException(对象未发送到实例)

c# - Asp.net Button 组件在 Twitter-Bootstrap 主题下不起作用

c# - 从 web.config 请求 key 到 .cs 文件

c# - 如何拉取 asp :button inside an asp:listview for use with jQuery? 的 clientID

c# - 如果数据库中有 'checked',请勾选正确的复选框

c# - 如何就地刷新组合框项目?

sql - .NET SqlConnection.Dispose() 可以抛出异常吗?