Asp.net core 选择blazor服务器端获取选项文本中的输入作为其值onchange事件

Asp.net core 选择blazor服务器端获取选项文本中的输入作为其值onchange事件,asp.net-core,blazor,blazor-server-side,asp.net-blazor,Asp.net Core,Blazor,Blazor Server Side,Asp.net Blazor,绑定服务器端blazor上的select时出现问题。onchange事件传递的是选项textlabel。 这是我的选择元素: <div class="form-group row"> <div class="form-group col-md-6"> <label>Role</label> <select class="form-control form-control form-control-s

绑定服务器端blazor上的select时出现问题。onchange事件传递的是选项textlabel。 这是我的选择元素:

<div class="form-group row">
     <div class="form-group col-md-6">
     <label>Role</label>
            <select class="form-control form-control form-control-sm"
                    placeholder="Role"
                    disabled="@IsReadOnly"
                    @onchange="(e) => RoleChanged(e)">
                        <option value="">Select Role...</option>
                        <option value="Member">Member</option>
                        <option value="Admin">Admin</option>
                        <option value="Pioneer">Pioneer</option>
                        <option value="Retailer">Retailer</option>
            </select>
            <ValidationMessage For="@(() => Model.Role)" class="row" />
</div>
在调试RoleChanged方法时

它在触发事件时获取选项文本作为值。 此外,客户端验证未启动


重构代码以使用表单组件:

角色 选择角色。。。 成员 管理 先锋 零售商 //异步方法必须返回Task或ValueTask 专用异步任务角色更改字符串值 { //你的逻辑 }
客户端验证只对内置的客户端有效。我在等待别人回答时这样做,而这实际上起了作用。我猜这个答案对你不起作用,对吗?