【问题标题】:Blazor .NET doesn't render a component. It just displays as HTML MarkupBlazor .NET 不呈现组件。它只是显示为 HTML 标记
【发布时间】:2020-06-22 07:14:17
【问题描述】:

最近,我遇到了一个问题,并且能够通过清理解决方案来解决它。但现在我有同样的问题,清理解决方案并不能解决我的错误。 在我的项目中,我使用模式来显示表单。因此,我创建了一个带有 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 Core 3.1 Blazor 服务器端和 Visual Studio 2019 Enterprise Version 16.4.4

【问题讨论】:

  • 您使用的是哪种浏览器?我已经看到 IE 不显示表单,但似乎可以很好地呈现只读表格。
  • @RogerWolf 我正在使用 Edge 和 Firefox,两种浏览器都不显示我的模式。

标签: razor blazor blazor-server-side


【解决方案1】:

我找到了这种奇怪行为的原因:Visual Studio 有时不会在创建新的 blazor 组件时将构建操作类型设置为“内容”。更改和重建后一切正常。

【讨论】:

    猜你喜欢
    • 2022-11-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2021-09-10
    • 1970-01-01
    • 2020-06-11
    • 2012-01-26
    相关资源
    最近更新 更多