C# InputSelect-验证未按预期工作
我的多页表单中的一个步骤有问题。 假设下面的代码显示了表单页面#2,我刚刚按下了后退按钮(从表单页面#3转到#2)。 AppData保存我第一次填写#2表单时存储的数据,“if”确保前面的选择是选中的C# InputSelect-验证未按预期工作,c#,validation,input,.net-core,blazor,C#,Validation,Input,.net Core,Blazor,我的多页表单中的一个步骤有问题。 假设下面的代码显示了表单页面#2,我刚刚按下了后退按钮(从表单页面#3转到#2)。 AppData保存我第一次填写#2表单时存储的数据,“if”确保前面的选择是选中的 <EditForm Model="FormModel" OnValidSubmit="HandleValidSubmit"> <DataAnnotationsValidator /> <ValidationSummary /> <I
<EditForm Model="FormModel" OnValidSubmit="HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<InputSelect @bind-Value="FormModel.StudyLocation">
<optgroup label="StudyPlace">
<option selected disabled hidden>Choose place</option>
@foreach (var studyPlace in StudyPlaces)
{
if (AppData.HousingTestWhere != null && AppData.HousingTestWhere.StudyLocation == studyPlace)
{
<option selected value="@studyPlace">@studyPlace</option>
}
else
{
<option value="@studyPlace">@studyPlace</option>
}
}
</optgroup>
</InputSelect>
<button type="submit">Neste</button>
</EditForm>
选择地点
@foreach(变量studyPlace in StudyPlaces)
{
if(AppData.HousingTestWhere!=null&&AppData.HousingTestWhere.StudyLocation==studyPlace)
{
@研究场所
}
其他的
{
@研究场所
}
}
巢穴
问题如下:
当从第3页转到第2页时,先前选择的项目被选中/默认,但当尝试返回第3页时(没有在下拉列表中重新选择任何内容),验证会抱怨“未选择任何内容”或其他内容。。即使元素明显具有选定的标记
什么?不清楚你的意思是<代码>页> n <代码>,或者你如何加载/重新加载FrimMod等。考虑一个新的最小项目,并发布确切的步骤来复制它。另请参见注意,整个if-else部分是不必要的,您有一个双向绑定。只需确保
FormModel.StudyLocation
已正确初始化即可。你只需要另一部分。