Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Blazor EditForm';模型是在给定上下文中无效的类型';_C#_Html_Asp.net_.net_Blazor - Fatal编程技术网

C# Blazor EditForm';模型是在给定上下文中无效的类型';

C# Blazor EditForm';模型是在给定上下文中无效的类型';,c#,html,asp.net,.net,blazor,C#,Html,Asp.net,.net,Blazor,我有一个简单的模型: 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

我有一个简单的模型:

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" />
错误发生在
Model=“@BlazorApp.Data.DataModel”
中,显然在每个表单的“@bind values”中。为什么会出现这种情况,我不认为namspace数据是一种类型?

Model=“@BlazorApp.Data.DataModel”
应该是
Model=“@Model”

您需要引用变量(
model
)的名称,也就是包含表单所有数据的变量,而不是它的类型名称


您的
InputText
还应该有类似于
@bind Value=“model.Height”
的内容。同样,他们需要引用特定的变量,而不是数据类型中的字段。

我对
@model
如何引用我的自定义
DataModel
类感到困惑?您定义了“private BlazorApp.data.DataModel”。这意味着变量“model”是使用“DataModel”类构造的,并且这里的
@
是可选的。别说了
Model=“Model”
@code {
    private BlazorApp.Data.DataModel model = new BlazorApp.Data.DataModel();

    private void Handle()
    {

    }
}