Blazor InputText、HTML Input和C#代码直接赋值之间的差异



我正在学习这个新的Blazor框架,我想知道使用EditForm及其组件与常规html输入与从代码直接分配以发布到数据库之间有什么区别。

例如Input和InputText:

<EditForm Model="Advert" OnValidSubmit="Create">
<Input @bind-Value="advert.City" />
<InputText @bind-Value="advert.City"/>
</EditForm>

并通过分配值CCD_ 1直接从代码中获取。它是否会造成任何不利因素或安全问题?

public async Task Create()
{
try
{
advert.City = "London";
await advertRepository.CreateAd(advert);
//navigationManager.NavigateTo("ProductsList");
}
catch (Exception ex)
{
//...
Console.WriteLine(ex.Message);
}
}

input Html元素和Forms输入组件用于从用户收集数据。在这方面,它们的功能或多或少是相同的。您可以使用Html输入文本或InputText组件从用户那里获取数据。实际上,InputText组件的底层对象是Html输入文本。但是,除了呈现Html输入文本之外,InputText组件还包含一些功能。这包括将InputText与其他对象相关联、格式化、验证以及许多其他在Html输入文本中找不到的事情。

直接在代码中赋值没有问题,也没有任何缺点或安全问题。大多数时候这是不实用的,因为你需要从用户那里获取数据,而这只能通过页面上的UI元素来完成。

相关内容

  • 没有找到相关文章