小编Ser*_*nko的帖子

如何使用 Blazor 上传文件?

我找到了BlazorInputFile库,但是从 2019 年 10 月开始仍然有开放的 PR,我不确定这个库是否还在维护。另外,我在博客中找到了几篇关于如何在 Blazor 中使用 JS 上传文件的文章。如果可能的话,我不想使用 JS,但我确实需要使用 Blazor 上传文件……是否可以在不使用 JavaScript 的情况下这样做?

c# .net-core asp.net-core blazor

9
推荐指数
2
解决办法
1万
查看次数

布拉佐尔。单击多次时,NavLink 在 foreach 块中不起作用

我创建了列表NavLink,这只是它们之间的一个区别,动态参数Id

<div>
    @foreach (var service in pageGlobal.Person.Services)
    {
        var link = $"service_description/{service.Identifier}";
        <ul class="nav flex-column">
           <li class="nav-item px-3">
              <NavLink class="nav-link" href="@link">
                   @service.Name
               </NavLink>
           </li>
        </ul>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

仅当我第一次单击时它才有效(无论哪个 NavLink 项目都可以正常工作)。

在此输入图像描述

单击下一个链接 - 网址已更改但没有任何反应。

在此输入图像描述

代码ServiceDescription.razor

@page "/service_description/{Id:int}"
@using Site.Data
@using Site.ViewModels
@inject StartUpService page

@if (service != null)
{
    <div> <h3>Service Name - @service.Name</h3> - <h4>@service.Description</h4>  </div>
}

@code
{
    [Parameter]
    public int Id { get; set; }

    PageGlobal pageGlobal;
    Service service;

    protected override async Task OnInitializedAsync() …
Run Code Online (Sandbox Code Playgroud)

asp.net-core blazor asp.net-core-3.0

5
推荐指数
1
解决办法
4971
查看次数

如果我使用 OnInitializedAsync 方法,页面初始化时出现 NullReferenceException

我有一个简单的应用程序,但它在页面初始化时停止工作并出现错误

NullReferenceException:未将对象引用设置为对象的实例。Site.Shared.MainLayout.BuildRenderTree(RenderTreeBuilder __builder) 错误: 在此处输入图像描述

但代码中并没有什么复杂的地方。应用程序剃须刀:

<Router AppAssembly="@typeof(Program).Assembly">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
    </Found>
  <NotFound>
      <LayoutView Layout="@typeof(MainLayout)">
          <p>Sorry, there's nothing at this address.</p>
      </LayoutView>
  </NotFound>
Run Code Online (Sandbox Code Playgroud)

_Host.cshtml: 在此输入图像描述

MainLayout.razor: 在此处输入图像描述

StartUpService.cs: 在此处输入图像描述

page.GetPageGlobalAsync() 运行良好,我可以在调试模式下传递此方法。 在此输入图像描述

但是在我出现这个错误之后。并且不知道原因是什么以及如何获得有关问题所在的更多信息。

UPD

如果我将代码更改为:

PageGlobal page =  new PageGlobal()
Run Code Online (Sandbox Code Playgroud)

它开始工作,但 OnInitializedAsync 是异步方法,为什么我不能在 OnInitializedAsync 方法中使用异步等待方法?

asp.net-core blazor asp.net-core-3.0

2
推荐指数
1
解决办法
5169
查看次数

标签 统计

asp.net-core ×3

blazor ×3

asp.net-core-3.0 ×2

.net-core ×1

c# ×1