我正在尝试将模型中的CountryId
与Blazor中SelectList
的所选项的值绑定。所有国家项目都以列表形式出现,如{CountryId,CountryName}
对象。我使用以下代码:
<InputSelect @bind-Value="model.ByCountryId" class="form-control">
@if (model?.Countries != null)
{
@foreach (var cnt in model.Countries)
{
<option value="@cnt.Id">@cnt.Name</option>
}
}
</InputSelect>
还有代码块:
@code {
BrandModel model = new BrandModel();
protected override async Task OnInitializedAsync()
{
model = new BrandModel
{
Id = 19,
ByCountryId = 1,
Countries = new List<ent.Country>
{
new ent.Country { Id = 1, Name = "Azerbaijan" },
new ent.Country { Id = 2, Name = "Turkey" }
},
IsActive = true,
Name = "Brand"
};
}
但是在浏览器中执行时,会出现以下错误:
blazor.webassembly.js:1 WASM: System.MissingMethodException: 构造函数“System.ComponentModel.ByteConverter”的类型未找到。
在Blazor中,绑定<select>
和model.data
的便捷方式是什么?
WASM: System.InvalidOperationException: Microsoft.AspNetCore.Components.Forms.InputSelect 1[System.Byte] 不支持类型 'System.Byte'
- Emba Ayyubpublic class BrandModel { public short Id { get; set; } [Required] public string Name { get; set; } [Required] public byte ByCountryId { get; set; } public bool IsActive { get; set; } public IEnumerable Countries { get; set; }
}
- Emba Ayyub<select>
标签并在csproj文件中添加了<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
来解决错误。请查看我的更新。 - Ryan<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
。 - Kuldeep Gill