Telerik @如果(显示成功消息) { 申请表提交成功,我们会回复您 } 取消 提交 @代码{ Person{get;set;} bool ShowSuccessMessage{get;set;} 受保护的覆盖任务OnInitializedAsync() { //加载时绑定模型 GetDefaultPerson(); 返回base.OnInitializedAsync(); } 异步void HandleValidSubmit() { //在这里实现实际的数据存储 ShowSuccessMessage=true; 等待任务。延迟(2000); ShowSuccessMessage=false; GetDefaultPerson(); StateHasChanged(); } 作废表格() { GetDefaultPerson(); } //外部选定值原语 int selectedValue{get;set;}=0; void GetDefaultPerson() { //实际上,您可能正在从服务或身份验证逻辑中提取数据 //不仅适用于表单模型,也适用于下面的数据源 person=新的person() { StartDate=DateTime.Now.AddDays(7) }; //从模型中获取选定的值。 selectedValue=person.SelectedState.Value; } IEnumerable genders=新列表 { 新的下拉模型{Text=“female”,Id=1}, 新的下拉模型{Text=“male”,Id=2}, 新的下拉模型{Text=“other”,Id=3}, 新的DropDownModel{Text=“我不想说”,Id=4} }; 列表团队=新列表 { Blazor、Python、Ruby、Java、JavaScript、Assembler }; } 杂项。模型

Telerik @如果(显示成功消息) { 申请表提交成功,我们会回复您 } 取消 提交 @代码{ Person{get;set;} bool ShowSuccessMessage{get;set;} 受保护的覆盖任务OnInitializedAsync() { //加载时绑定模型 GetDefaultPerson(); 返回base.OnInitializedAsync(); } 异步void HandleValidSubmit() { //在这里实现实际的数据存储 ShowSuccessMessage=true; 等待任务。延迟(2000); ShowSuccessMessage=false; GetDefaultPerson(); StateHasChanged(); } 作废表格() { GetDefaultPerson(); } //外部选定值原语 int selectedValue{get;set;}=0; void GetDefaultPerson() { //实际上,您可能正在从服务或身份验证逻辑中提取数据 //不仅适用于表单模型,也适用于下面的数据源 person=新的person() { StartDate=DateTime.Now.AddDays(7) }; //从模型中获取选定的值。 selectedValue=person.SelectedState.Value; } IEnumerable genders=新列表 { 新的下拉模型{Text=“female”,Id=1}, 新的下拉模型{Text=“male”,Id=2}, 新的下拉模型{Text=“other”,Id=3}, 新的DropDownModel{Text=“我不想说”,Id=4} }; 列表团队=新列表 { Blazor、Python、Ruby、Java、JavaScript、Assembler }; } 杂项。模型,telerik,blazor-server-side,telerik-blazor,Telerik,Blazor Server Side,Telerik Blazor,该示例的其他模型是围绕下拉列表构建的 菜单项 公共类菜单项 { 公共字符串文本{get;set;} 公共字符串Url{get;set;} 公共列表项{get;set;} } 下拉模式 公共类下拉模型 { 公共int?Id{get;set;} 公共字符串文本{get;set;} } 收尾 我相信这个例子回答了这个问题。据我所知,结果似乎是你希望避免的,不幸的是。如果您还有其他问题,请告诉我 我希望这有帮助!感谢您为Blazor开发UI Eric D.Rohler感谢Eric为此提供指导。正如你

该示例的其他模型是围绕下拉列表构建的

菜单项

公共类菜单项
{
公共字符串文本{get;set;}
公共字符串Url{get;set;}
公共列表项{get;set;}
}
下拉模式

公共类下拉模型
{
公共int?Id{get;set;}
公共字符串文本{get;set;}
}
收尾 我相信这个例子回答了这个问题。据我所知,结果似乎是你希望避免的,不幸的是。如果您还有其他问题,请告诉我

我希望这有帮助!感谢您为Blazor开发UI


Eric D.Rohler

感谢Eric为此提供指导。正如你所怀疑的,我希望有一个更优雅的解决方案,因为这是我在自己的研究中假设的答案。不是将所选项目映射回HandleValidSubmit上的模型的世界末日。
public sealed class StatesEnum : SmartEnum<StatesEnum>
{
    public static readonly StatesEnum NotSpecified = new StatesEnum("(Select One)", 0);
    public static readonly StatesEnum Alabama = new StatesEnum("Alabama", 1); 
    public static readonly StatesEnum Alaska = new StatesEnum("Alaska", 2);
    public static readonly StatesEnum Arizona = new StatesEnum("Arizona", 3);
    public static readonly StatesEnum Arkansas = new StatesEnum("Arkansas", 4);
    public static readonly StatesEnum California = new StatesEnum("California", 5);
    ...
 }
<TelerikDropDownList Id="dropStates" Data="@StatesEnum.List" TextField="@nameof(StatesEnum.Name)" ValueField="@nameof(StatesEnum.Value)" @bind-Value="@JobPostingVM.StateId"></TelerikDropDownList>