下午所有人,
我有两个字段,我需要在用户单击提交按钮后在web表单上进行验证。这些web表单还包含验证摘要,以使用户知道错误消息。
我的代码是这样的.
<td>
<asp:TextBox ID="txtOrganiser" runat="server" ></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldVal0"
ControlToValidate="txtOrganiser"
ErrorMessage="Meeting Organiser"
Text="*"
runat="server" Display="None"/>
</td>
<td>
<asp:DropDownList ID="AgendaStatus"
runat="server" Height="24px" Width="125px"> </asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ControlToValidate="AgendaStatus"
ErrorMessage="Agenda Status"
Text="*"
runat="server" Display="None"/>
</td>
<td>
<asp:ValidationSummary ID="ValidationSummary"
HeaderText="You must enter a value in the following fields:"
DisplayMode="BulletList"
EnableClientScript="true"
runat="server"/>
</td>“会议组织者”的代码运行得很好。然而,'AgendaStatus‘下拉菜单没有。我想这是因为下拉列表基本上已经有了一个默认值来提示用户选择项目?
议程下拉菜单使用以下代码...
'Used for the Enum property on the web page for the dropdown (Agenda Template.aspx)
Private Sub BindStatus()
AgendaStatus.DataSource = EnumHelper.ToList(GetType(AgendaStatus))
AgendaStatus.DataTextField = "Value"
AgendaStatus.DataValueField = "Key"
AgendaStatus.DataBind()
AgendaStatus.Items.Insert(0, New ListItem(" - Please Select -", "~"))
End Sub这段代码..。
Imports Microsoft.VisualBasic
Imports SembCorp.CoreLib
Public Enum AgendaStatus
<EnumDescription("Created")> _
TempCreated = 1
<EnumDescription("In Progress")> _
InProgress = 2
<EnumDescription("Completed")> _
Completed = 3
End Enum如果下拉框中没有选中的项目,则会显示错误消息...
Requested value '~' was not found.我知道为什么会显示此错误,因为用户没有选择其中一个下拉选项。然而,我认为我可以添加RequiredFieldValidator工具来解决这个问题。这没有起作用,我也没有解决方案。
任何帮助都是提前得到的。
问候贝蒂
发布于 2012-08-15 23:08:59
首先,您可以将AppendDataboundItems设置为true,通过这种方式,您可以在aspx标记上声明性地添加默认项:
<asp:DropDownList ID="AgendaStatus"
AppendDataboundItems="true"
runat="server" Height="24px" Width="125px">
<asp:ListItem Value="-1" Text=" - Please Select -"></asp:ListItem>
</asp:DropDownList> 然后,您可以将验证器的InitialValue设置为"-1",以确保第一项不是有效的用户选项:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
InitialValue="-1"
ControlToValidate="AgendaStatus"
ErrorMessage="Agenda Status"
Text="*"
runat="server" Display="None"/>发布于 2012-08-15 23:09:20
从列表项值中删除"~“。还要为DropDownList设置AppendDataBoundItems="true"
https://stackoverflow.com/questions/11971795
复制相似问题