Mel*_* NG 18 .net-core asp.net-core blazor
我正在学习服务器端。西装外套。
我已经阅读了一些项目的代码,发现了一些使用:
@{
}
Run Code Online (Sandbox Code Playgroud)
和一些使用:
@code{
}
Run Code Online (Sandbox Code Playgroud)
和其他使用:
@function{
}
Run Code Online (Sandbox Code Playgroud)
标记代码块。
我想知道这些之间的区别。谢谢你。
nhu*_*uvy 19
@ 对于指令
@code{ }[2] 应该使用。@function{ }[3] 仍然有效,在方法的情况下,当前版本不推荐。
[2] https://docs.microsoft.com/vi-vn/aspnet/core/mvc/views/razor?view=aspnetcore-3.0#code
[3] https://docs.microsoft.com/vi-vn/aspnet/core/mvc/views/razor?view=aspnetcore-3.0#functions
查看所有案例的文档https://docs.microsoft.com/vi-vn/aspnet/core/mvc/views/razor?view=aspnetcore-3.0#functions
@{}
您不能在 @{} 下使用函数或设置 get属性,只能使用声明。例如:
@{
DateTime today = DateTime.Now;
}
Run Code Online (Sandbox Code Playgroud)
但下面的代码会显示错误,因为我在这里使用函数:
@{
public DateTime GetDate()
{
return DateTime.Now;
}
}
Run Code Online (Sandbox Code Playgroud)
@代码{ }
您可以在@code {}下编写任何C# 代码,例如:
@code{
[Parameter]
public Guid id { get; set; }
AccessoryDto accessory;
protected override Task OnInitializedAsync()
{
if (id == Guid.Empty)
accessory = new AccessoryDto();
else
accessory = GetAccessory(id);
return Task.FromResult(accessory);
}
void cancel()
{
NavigationManager.NavigateTo("/accessories");
}
}
Run Code Online (Sandbox Code Playgroud)
@功能{ }
@function 与 @code 做同样的事情,但现在建议使用@code。
除此之外,你还可以使用@符号来使用条件、循环等。例如:
@if (id == null)
{
<h1>Create</h1>
}
else
{
<h1>Edit</h1>
}
Run Code Online (Sandbox Code Playgroud)
和
<tbody>
@foreach (var accessory in Accessories)
{
<tr>
<td>@accessory.Name</td>
<td>@accessory.Description</td>
<td>
<a href='/editaccessory/@accessory.Id'>Edit</a> |
<a href='/delete/@accessory.Id'>Delete</a>
</td>
</tr>
}
</tbody>
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用@()来表达。例如:
<a href="@($"employee/{employeeId}")">View</a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5723 次 |
| 最近记录: |