[英]Blazor EditForm 'model is a type, which is not valid in the given context'
我有這個簡單的模型:
using System.ComponentModel.DataAnnotations;
namespace BlazorApp.Data
{
public class DataModel
{
[Required]
[Range(1, 500, ErrorMessage = "Width needs to be above 1m and below 500m")]
public int Width { get; set; }
[Required]
[Range(1, 500, ErrorMessage = "Length needs to be above 1m and below 500m")]
public int Length { get; set; }
[Required]
[Range(1, 500, ErrorMessage = "Height needs to be above 1m and below 500m")]
public int Height { get; set; }
}
}
這是我的 Razor 文件,我正在嘗試將模型用於:
<EditForm Model="@BlazorApp.Data.DataModel" OnValidSubmit="@Handle"> // ERROR OCCURS HERE
<DataAnnotationsValidator />
<ValidationSummary />
<InputText id="width" @bind-Value="BlazorApp.Data.DataModel.Width" />
<InputText id="length" @bind-Value="BlazorApp.Data.DataModel.Length" />
<InputText id="height" @bind-Value="BlazorApp.Data.DataModel.Height" />
@code {
private BlazorApp.Data.DataModel model = new BlazorApp.Data.DataModel();
private void Handle()
{
}
}
錯誤發生在Model="@BlazorApp.Data.DataModel"
並且顯然在每個表單的 `@bind-values' 中。 為什么會這樣,我不認為 namspace Data 是一種類型?
Model="@BlazorApp.Data.DataModel"
應該是Model="@model"
。
您需要引用變量( model
)的名稱,也就是保存表單所有數據的變量,而不是其類型的名稱。
你的InputText
也應該有類似@bind-Value="model.Height"
。 同樣,他們需要引用特定的變量,而不是數據類型中的字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.