在我的C#Web应用程序中,我有三个文本框,三个下拉列表和一个按钮。
该按钮假设运行一个SQL字符串,该字符串将获取文本框中键入的内容的值,无论选择什么,并插入到数据库中。插入的值可能不为空,因此我不想要任何空白条目。默认情况下,我在源代码中有这样的DropDownList:
<asp:DropDownList ID="ReadDrop" runat="server">
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="1">Yes</asp:ListItem>
<asp:ListItem Value="0">No</asp:ListItem>
</asp:DropDownList>
所以有一个空白条目(默认),然后是yes / no。应用程序中有三个下拉列表。在我的C#代码中,如果有一个空白条目,我有以下内容防止按钮被触发:
if (UsernameBox.Text != "" & FirstNameBox.Text != "" & LastNameBox.Text != "" /* check for blank dropdownlist? */)
我目前的问题是,我不知道如何查看下拉列表中的空白条目。我的猜测是检查ReadDrop.Text是否为空白,但我对ASP.NET相对缺乏经验,我想知道是否有一个&#34;正确的&#34;这样做的方法。
谢谢!
答案 0 :(得分:4)
您可以使用SelectedIndex > 0
:
if (UsernameBox.Text != "" & FirstNameBox.Text != "" & LastNameBox.Text != "" && ReadDrop.SelectedIndex > 0)
{
// ...
}
请注意,如果未选择任何项目,则SelectedIndex
为-1,而是/否则为1/2。
另一种选择是使用SelectedItem
:
ListItem selectedItem = ReadDrop.SelectedItem;
if(selectedItem != null && !String.IsNullOrEmpty(selectedItem.Text))
{
// ...
}
但是,我认为您实际上想要防止用户选择任何项目,或者换句话说,确认他选择了某些内容。然后使用RequiredFieldValidator
,您必须将InitialValue
设置为""
:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="Select Something" ControlToValidate="ReadDrop"
InitialValue=""></asp:RequiredFieldValidator>
您可以为空白项目分配不同的Value
并适当更改InitialValue
: