[英]How to use addEventListener to element rendered by javascript instead of inline js
[英]How to use inline C# in the browser instead of Javascript
我刚刚发现 Microsoft 引入了 Blazor,它允许在浏览器中运行 C# 代码。 当我查看一些教程时,您似乎需要 asp.net 核心后端服务器才能使其工作。 如果我能在浏览器中输入 C# 代码就好了,比如:
<script>
//C# code
string myName = "John";
alert(myName);
</script>
代替
<script>
//Javascript code
var myName = "John";
alert(myName);
</script>
这能做到吗?
不,您不能只是将 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
),它可以嵌套在另一个组件中:<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 调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.