asp:dropdownlist不';t保存用户选择的值c#asp.net aspx
我已经试了好几个小时了。我认为问题在于使用enum,但我的老板坚持我们使用它 webapp aspx代码:asp:dropdownlist不';t保存用户选择的值c#asp.net aspx,c#,asp.net,enums,C#,Asp.net,Enums,我已经试了好几个小时了。我认为问题在于使用enum,但我的老板坚持我们使用它 webapp aspx代码: <label for="footerPlaceHolder_twoFactorAuthentication" class="sr-only"><asp:Localize runat="server" Text="<%$ Resources:UserMessages, TwoFactorSelect %>"></asp
<label for="footerPlaceHolder_twoFactorAuthentication" class="sr-only"><asp:Localize runat="server" Text="<%$ Resources:UserMessages, TwoFactorSelect %>"></asp:Localize></label>
<asp:DropDownList runat="server" ID="twoFactorAuthenticationDropDownList" CssClass="selectpicker">
<asp:ListItem Value="0" Text = "<%$ Resources:UserMessages, TwoFactorSelect %>"></asp:ListItem>
<asp:ListItem Value="3" Text = "<%$ Resources:UserMessages, TwoFactorRequire %>" ></asp:ListItem>
<asp:ListItem Value="2" Text = "<%$ Resources:UserMessages, TwoFactorRecommend %>" ></asp:ListItem>
<asp:ListItem Value="1" Text = "<%$ Resources:UserMessages, TwoFactorNotRequired %>" ></asp:ListItem>
</asp:DropDownList>
<p><asp:RequiredFieldValidator runat="server" ControlToValidate="twoFactorAuthenticationDropDownList" CssClass="field-validation-error" InitialValue="0" EnableClientScript="true" Display="Dynamic"></asp:RequiredFieldValidator></p>
webservice IOAuth2.cs代码:
public enum WebSite2FactorOptionEnum
{
[EnumMember]
NotSelected,
[EnumMember]
NotRequired,
[EnumMember]
Recommended,
[EnumMember]
Required
}
问题是下拉列表中的值是
int
s,但您将SelectedValue
设置为string
尝试:
希望能有所帮助。您将drodown的值和文本属性混为一谈。您的代码在这里:
twoFactorAuthenticationDropDownList.SelectedValue = data.TwoFactorOption.ToString();
正在尝试将所选值设置为类似“NotRequired”的值。这是行不通的,因为下拉列表的值是0、1、2等等
按照这些思路做一些事情会更好:
twoFactorAuthenticationDropDownList.SelectedValue = ((int)data.TwoFactorOption).ToString();
此外,还应明确定义枚举成员的数值,否则,如果更改枚举中项目的顺序,可能会导致意外后果
public enum WebSite2FactorOptionEnum
{
[EnumMember]
NotSelected = 0,
[EnumMember]
NotRequired = 1,
[EnumMember]
Recommended = 2,
[EnumMember]
Required = 3
}
最后,由于您使用的是EnumMember属性,因此我假设您正在序列化此枚举。依赖数据协定序列化枚举的整数值可能会产生意外的结果。我看不到绑定,保存是指将用户的选择保存到数据库中,对吗?@Alexandre yes,Exactly可以显示从DDL获取用户选择值的代码吗?保存在哪里?你有一个包含表和列的数据库可以接受用户的选择吗?请记住,我是一个初学者,我遇到了一个错误:无法隐式地将“int”类型转换为“string”类型。你真是太棒了。很快,哈哈,StackOverflow中满是足智多谋的人@Alexandre我以为没人会回应因为我觉得我很直率
twoFactorAuthenticationDropDownList.SelectedValue = ((int)data.TwoFactorOption).ToString();
public enum WebSite2FactorOptionEnum
{
[EnumMember]
NotSelected = 0,
[EnumMember]
NotRequired = 1,
[EnumMember]
Recommended = 2,
[EnumMember]
Required = 3
}