【问题标题】:EditForm in Blazor with two InputSelects, submit button doesn't seem ike it firesBlazor 中的 EditForm 有两个 InputSelects,提交按钮似乎不会触发
【发布时间】:2021-01-26 19:21:45
【问题描述】:

我有两个 InputSelects 从两个表中获取它们的选项。它们的值写入另一个表,该表基本上是一个查找表。因此,两个整数值,以及该行的 ID。

@page "/utility/ptrh"
@inject IProviderTypeRespiteHomeRepo Repo
@inject IRespiteHomeRepo RhRepo
@inject IProviderTypeRepo PtRepo
@inject NavigationManager NavManager
@inject IToastService ToastService

<h3>Assign Provider Type to Respite Home</h3>

<EditForm Model="_model" OnSubmit="CreatePtrh">
    <DataAnnotationsValidator />
    <ValidationSummary />
    <div class="form-group">
        <label for="rh">Respite Home</label>
        @*<InputNumber @bind-Value="_model.RespiteHomeId"></InputNumber>*@
        <InputSelect @bind-Value="_model.RespiteHomeId" class="form-control" id="rh">
            @if (_rhModel != null)
            {
                <option value="-1">select one</option>
                @foreach (var rh in _rhModel)
                {
                    <option value="@rh.ID">@rh.RespiteHomeName</option>
                }
            }
        </InputSelect>
    </div>
    <div class="form-group">
        <label for="pt">Provider Type</label>
        @*<InputNumber @bind-Value="_model.ProviderTypeId"></InputNumber>*@
        <InputSelect @bind-Value="_model.ProviderTypeId" class="form-control" id="pt">
            @if (_ptModel != null)
            {
                <option value="-1">select one</option>
                @foreach (var pt in _ptModel)
                {
                    <option value="@pt.ID">@pt.ProviderTypeName</option>
                }
            }
        </InputSelect>
    </div>
    
    <button class="btn btn-success" type="submit"><span class="oi oi-pencil"></span> Add Provider Type for Respite Home</button>

    <button @onclick="BackToList" class="btn btn-outline-secondary">
        <span class="oi oi-media-skip-backward"></span> Back to List
    </button>
</EditForm>

@code {
    private ProviderTypeRespiteHome _model = new ProviderTypeRespiteHome();
    private IList<RespiteHome> _rhModel;
    private IList<ProviderType> _ptModel;
    private bool _isSuccess = true;

    protected override async Task OnInitializedAsync()
    {
        _rhModel = await RhRepo.Get(Endpoints.RespiteHomeTypesEndpoint);
        _ptModel = await PtRepo.Get(Endpoints.ProviderTypesEndpoint);
    }

    private async Task CreatePtrh()
    {
        _isSuccess = await Repo.Create(Endpoints.PTRHEndpoint, _model);
        if (_isSuccess)
        {
            ToastService.ShowSuccess("PTRH record has been created.");
            BackToList();
        }
    }

    private void BackToList()
    {
        NavManager.NavigateTo("/respitehomes/");
    }
}

我的数据模型没问题。他们从其他两个表中提取数据OK。就在我点击提交按钮时,没有任何反应。

帮助!其他创建剃须刀页面的标记工作几乎相同!!!!

【问题讨论】:

    标签: c# asp.net-core blazor


    【解决方案1】:

    与上面的评论一样,确保您的 API 中没有多个具有完全相同名称的控制器,即使它位于另一个文件夹或子文件夹中。删除后就可以正常使用了。

    【讨论】:

      猜你喜欢
      • 2020-02-02
      • 2021-10-02
      • 2021-09-08
      • 2021-05-30
      • 2021-07-24
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多