簡體   English   中英

Blazor EditForm '模型是一種類型,在給定的上下文中無效'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM