【发布时间】:2020-05-08 13:47:09
【问题描述】:
我有一个带有表单提交的 Blazor 服务器端项目:
<EditForm Model="@myWebUserVM" OnValidSubmit="HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
@if (IsPasswordIncorrect)
{<h6 class="text-danger">User Name or Password is incorrect.</h6>}
<div class="row">
<label class="col-md-4">User Name:</label>
<div class="col-md-8">
<InputText id="uname" class="form-control" placeholder="User Name" @bind-Value="myWebUserVM.UserName" />
</div>
</div>
<div class="row my-3">
<label class="col-md-4">Password:</label>
<div class="col-md-8">
<InputText id="upassword" class="form-control" type="password" placeholder="Password" @bind-Value="myWebUserVM.Password" />
</div>
</div>
<div class="text-center">
<button class="btn btn-outline-success" type="submit">Login</button>
</div>
</EditForm>
当我在 VS2019 中本地运行它时,这非常有效。当我发布到 IIS 时,表单的工作方式不同。点击提交按钮将 http 发布到服务器并且页面/表单只是重新加载。所以看起来我只是第一次打开它或在浏览器中按 F5。 “private void HandleValidSubmit()”中的代码不会命中。看起来我只是用 HTTP 发布了一个常规表单。但这是一个 SPA,我不需要它通过 HTTP 发布。带有验证的 Blazor 表单的正确代码应该是什么?为什么它在 VS2019 调试模式下工作?或者,最有可能的是,所需的 IIS 设置? 谢谢。
【问题讨论】:
标签: forms iis-7.5 blazor-server-side