【发布时间】:2019-05-25 07:17:39
【问题描述】:
让我们考虑客户端 Blazor 应用中的以下页面:
@page "/test"
<div id="modalDialog" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<EditForm Model="@model" OnSubmit="@SubmitHandler">
<div class="form-group d-flex justify-content-between">
<label class="col-form-label col-3" for="editDT">Time</label>
<InputText bind-Value="@model" id="editDT" Class="form-control" />
</div>
<button type="submit" class="btn btn-primary" @*data-dismiss="modal"*@>Submit</button>
</EditForm>
</div>
</div>
</div>
</div>
<button data-toggle="modal" data-target="#modalDialog" class="btn btn-primary">Open</button>
@functions {
private string model { get; set; } = "Model";
private void SubmitHandler()
{
Console.WriteLine("Submit");
}
}
当我单击“打开”按钮时,模式会按预期显示。然后单击模式中的提交按钮,“提交”再次按预期打印在浏览器控制台中。 但是当我单击提交时,我还需要关闭模式,所以我取消注释 data-dismiss 属性。 现在,模态按预期关闭,但不再调用提交处理程序(浏览器控制台保持为空)。
1) 这是预期的行为吗?
2) 如果是,有没有办法在没有 javascript 互操作的情况下关闭提交处理程序中的模式?
3) 如果没有,是否有另一种方法来关闭模式并在单击提交按钮时调用提交处理程序,再次没有 js 互操作?
【问题讨论】:
-
您是尝试按原样使用 BS 模态,还是将其转换为 Blazor?
-
我按原样使用它