kol*_*lek 2 blazor-server-side
我希望能够使用Blazor渲染表单(服务器端渲染)
我在那里尝试了大多数教程,但看不到我在做什么错。我已将.net core更新为最新版本的SDK 3.0.100-preview6-012264
<EditForm Model="@Model" OnValidSubmit="@SubmitValidForm">
<FluentValidationValidator />
<ValidationSummary />
<p class="name">
Name: <InputText bind-Value="@Model.Name" placeholder="Name"/>
</p>
<button type="submit">Submit</button>
</EditForm>
@code {
Person Model = new Person();
void SubmitValidForm()
{
Console.WriteLine("OnValidSubmit");
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class Person : ComponentBase
{
[Required(ErrorMessage = "Enter a name")]
[StringLength(10, ErrorMessage = "That name is too long")]
public string Name { get; set; } = "asd";
[Range(0, 200, ErrorMessage = "Nobody is that old")]
public int AgeInYears { get; set; }
[Required]
[Range(typeof(bool), "true", "true", ErrorMessage = "Must accept terms")]
public bool AcceptsTerms { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是我明白了
'Microsoft.AspNetCore.Components.Forms.InputText requires a value for the 'ValueExpression' parameter. Normally this is provided automatically when using 'bind-Value'.'
Run Code Online (Sandbox Code Playgroud)
我想渲染页面并向服务器做一个简单的发布
有人可以帮忙吗?
Dha*_*tle 73
对我来说,那是因为我正在使用@bind-value.
的v是大写的。用@bind-Value
今晚我一直在为完全相同的事情而苦苦挣扎。我在“绑定值”之前省略了“ @”符号(我可以称其为属性吗?),并得到了完全相同的错误。
根据ASP.NET Core Blazor表单和验证页,应将InputText元素的声明更改为<InputText @bind-Value="@Model.Name" placeholder="Name"/>
我添加@字符,然后控件呈现。
我忘了@前面的@bind-Value="@Model.Name"。应该是 @bind-Value="@Model.Name",不是bind-Value="@Model.Name"。
添加到InputText字段无意义的咒语
ValueExpression="@( () => Model.Name )"
Run Code Online (Sandbox Code Playgroud)
是的,这是没有意义的,但这是有效的。
遗憾的是,Blazor并不是真正的商业开发环境,因为Blazor不支持VB.NET,不支持jQuery,不支持,Visual Studio Designer 不支持,没有方便ASP.NET开发的组件,比如Pager,DataGrid等等。它只是一个有很多问题的清晰赤裸裸的想法。
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |