Luk*_*101 0 javascript c# asp.net blazor
我刚刚发现 Microsoft 引入了 Blazor,它允许在浏览器中运行 C# 代码。当我查看一些教程时,您似乎需要 asp.net 核心后端服务器才能使其工作。如果我能在浏览器中输入 C# 代码就好了,比如:
<script>
//C# code
string myName = "John";
alert(myName);
</script>
Run Code Online (Sandbox Code Playgroud)
代替
<script>
//Javascript code
var myName = "John";
alert(myName);
</script>
Run Code Online (Sandbox Code Playgroud)
这能做到吗?
不,您不能只是将 C# 代码放在script标签中。浏览器不知道如何解析和运行 C# 代码。Blazor 所做的是将 C#(在服务器上)编译成 .Net 程序集,然后通过WebAssembly在浏览器中运行这些程序集。Blazor 介绍中的详细信息。这是一个似乎相关的摘录:
Blazor 应用程序基于组件。Blazor 中的组件是 UI 的一个元素,例如页面、对话框或数据输入表单。
...
组件类通常以带有
.razor文件扩展名的 Razor 标记页面的形式编写。Blazor 中的组件正式称为 Razor 组件。Razor 是一种将 HTML 标记与 C# 代码相结合的语法,旨在提高开发人员的生产力。Razor 允许您在具有 IntelliSense 支持的同一文件中的 HTML 标记和 C# 之间切换。Razor Pages 和 MVC 也使用 Razor。与围绕请求/响应模型构建的 Razor Pages 和 MVC 不同,组件专门用于客户端 UI 逻辑和组合。以下 Razor 标记演示了一个组件 (
Dialog.razor),它可以嵌套在另一个组件中:Run Code Online (Sandbox Code Playgroud)<div> <h1>@Title</h1> @ChildContent <button @onclick="OnYes">Yes!</button> </div> @code { [Parameter] public string Title { get; set; } [Parameter] public RenderFragment ChildContent { get; set; } private void OnYes() { Console.WriteLine("Write to the console in C#! 'Yes' button was selected."); } }
和:
在浏览器中构建并运行 Blazor WebAssembly 应用程序时:
- C# 代码文件和 Razor 文件被编译成 .NET 程序集。
- 程序集和 .NET 运行时被下载到浏览器。
- Blazor WebAssembly 引导 .NET 运行时并配置运行时以加载应用程序的程序集。Blazor WebAssembly 运行时使用 JavaScript 互操作来处理 DOM 操作和浏览器 API 调用。
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |