我正在学习这个新的 Blazor 框架,并且想知道使用 EditForm 及其组件与常规 html 输入与直接从代码分配以发布到数据库之间有什么区别。
例如输入和输入文本:
<EditForm Model="Advert" OnValidSubmit="Create">
<Input @bind-Value="advert.City" />
<InputText @bind-Value="advert.City"/>
</EditForm>
Run Code Online (Sandbox Code Playgroud)
并直接从代码中分配一个值advert.City="London。它会造成任何缺点或安全问题吗?
public async Task Create()
{
try
{
advert.City = "London";
await advertRepository.CreateAd(advert);
//navigationManager.NavigateTo("ProductsList");
}
catch (Exception ex)
{
//...
Console.WriteLine(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
input Html 元素和表单输入组件用于从用户收集数据。在这方面,它们的功能或多或少是相同的。您使用 Html 输入文本或 InputText 组件从用户获取数据。实际上,InputText组件的底层对象是Html输入文本。但是,InputText 组件除了呈现 Html 输入文本之外还包含其他功能。这包括将 InputText 与其他对象关联、格式化、验证以及许多其他在单纯的 Html 输入文本中找不到的东西。
直接在代码中赋值没有任何问题,并且没有任何缺点或安全问题。大多数时候这是不切实际的,因为您需要从用户那里获取数据,而这只能通过页面上的 UI 元素来完成。
| 归档时间: |
|
| 查看次数: |
2071 次 |
| 最近记录: |