.NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新 (2)

在*_Imports.razor*文件中使用时,指定生成的类或名称空间前缀的名称空间。该@namespace指令现在适用于页面和视图(.cshtml)应用程序,但现在它也支持组件(.razor)。

@namespace MyNamespace 标记@functions和本地功能

在视图和页面(.cshtml文件)中,您现在可以在@functions块和本地函数中的方法内添加标记。

@{ GreetPerson(person); } @functions { void GreetPerson(Person person) { <p>Hello, <em>@person.Name!</em></p> } } Blazor指令属性

Blazor使用各种属性来影响组件的编译方式(例如ref,bind,事件处理程序等)。随着时间的推移,这些属性已经有机地添加到Blazor并使用不同的语法。在这个Blazor版本中,我们已经标准化了指令属性的通用语法。这使得Blazor使用的Razor语法更加一致和可预测。它还为未来的可扩展性铺平了道路。

指令属性都遵循以下语法,其中括号中的值是可选的:

@directive(-suffix(:name))(="value")

一些有效的例子:

<!-- directive --> <div @directive>...</div> <div @directive="value"></div> <!-- directive with key/value arg--> <div @directive:key>...</div> <div @directive:key="value"></div> <!-- directive with suffix --> <div @directive-suffix></div> <div @directive-suffix="value"></div> <!-- directive with suffix and key/value arg--> <div @directive-suffix:key></div> <div @directive-suffix:key="value"></div>

所有Blazor内置指令属性都已更新为使用此新语法,如下所述。

事件处理程序

在Blazor中指定事件处理程序现在使用新的指令属性语法而不是普通的HTML语法。语法类似于HTML语法,但现在具有前导@字符。这使得C#事件处理程序与JS事件处理程序不同。

<button @onclick="@Clicked">Click me!</button>

为C#事件处理程序指定委托时,@属性值当前仍需要前缀,但我们希望在将来的更新中删除此要求。

在将来,我们还希望使用指令属性语法来支持事件处理程序的其他功能。例如,停止事件传播可能看起来像这样(尚未实现,但它让您了解现在由指令属性启用的方案):

<button @onclick="Clicked" @onclick:stopPropagation>Click me!</button>

捆绑

<input @bind="myValue">...</input> <input @bind="myValue" @bind:format="mm/dd">...</input> <MyButton @bind-Value="myValue">...</MyButton>

<div @key="id">...</div>

参考

<button @ref="myButton">...</button> Blazor应用程序的身份验证和授权支持

Blazor现在内置了对处理身份验证和授权的支持。服务器端Blazor模板现在支持使用ASP.NET Core Identity,Azure AD和Azure AD B2C启用所有标准身份验证配置的选项。我们还没有更新Blazor WebAssembly模板以支持这些选项,但我们计划在.NET Core 3.0发布之后这样做。

要创建启用了身份验证的新Blazor应用程序:

创建一个新的Blazor(服务器端)项目,然后选择链接以更改身份验证配置。例如,选择“个人用户帐户”和“在应用程序中存储用户帐户”以将Blazor与ASP.NET Core Identity一起使用:

Blazor身份验证

运行应用程序。该应用程序包含顶行中的链接,用于注册为新用户并登录。

Blazor身份验证运行

选择“注册”链接以注册新用户。

Blazor认证寄存器

选择“应用迁移”以将ASP.NET Core Identity迁移应用于数据库。

Blazor身份验证应用迁移

你现在应该登录了。

Blazor身份验证登录

选择您的用户名以编辑您的用户个人资料。

Blazor身份验证编辑配置文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdfjx.html