Недавно я столкнулся с проблемой и смог ее исправить, очистив решение. Но теперь у меня та же проблема, и очистка решения не исправляет мою ошибку. В моем проекте я использую модалы для отображения форм. Итак, я создал модальный компонент с EditForm для генерации новой сущности в моей базе данных.
<div class="modal">
<div class="modal-body">
<div class="row">
<div class="col s12">
<h5>New Item</h5>
</div>
</div>
<div class="row">
<EditForm Model="MyEntity" OnValidSubmit="OnValidSubmit" OnInvalidSubmit="OnInvalidSubmit">
<DataAnnotationsValidator />
<ValidationSummary></ValidationSummary>
<div class="input-field fixed col s12">
<InputText id="name" @bind-Value="MyEntity.Name" />
<label class="active" for="name">Name</label>
</div>
<div class="col s12">
<button class="right btn" type="submit">Create</button>
</div>
</EditForm>
</div>
</div>
<div class="modal-footer">
<button class="modal-close btn-flat">Close</button>
</div>
</div>
@code {
[Parameter]
public MyEntityClass MyEntity {get; set;}
[Parameter]
public EventCallback<Microsoft.AspNetCore.Components.Forms.EditContext> OnValidSubmit { get; set; }
[Parameter]
public EventCallback<Microsoft.AspNetCore.Components.Forms.EditContext> OnInvalidSubmit { get; set; }
}
На странице индекса я хотел бы использовать такой компонент:
@page "/mypage"
<MyProject.Pages.Shared.MyModalComponent MyEntity="_newMyEntity" OnValidSubmit="HandleValidSubmit" InvalidSubmit="HandleOnInvalidSubmit" />
@*
Some more HTML Code ...
*@
@code{
private MyEntityClass _newMyEntity = new MyEntityClass();
void HandleValidSubmit()
{
// Write to Database ...
}
void HandleOnInvalidSubmit()
{
// Display Errormessage to User ...
}
}
Blazor не отображает компонент, он просто отображает как HTML разметку с именами переменных:
Теперь о странной части: на другой странице я построил компонент таблицы для отображения сложных данных и там все отлично работает! Я что-то пропустил?
Я использую. NET Серверная часть Blazor Core 3.1 с Visual Studio 2019 Enterprise версии 16.4.4