Удалите панель обновления и попробуйте выполнить проверку на стороне клиента, используя javascript.
СТОРОНА КЛИЕНТА
Определение события JavaScript,
function ValidateFunction(sender,args)
{
var ddlCommandAssign= document.getElementById('<%=ddlCommandAssign.ClientID %>');
if (ddlCommandAssign.options[control.selectedIndex].value=='0')
{ args.IsValid = false;//This shows the validation error message and stops execution at client side itself.}
else { args.IsValid = true;//This will return to the server side. }
}
Раздел Aspx:
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="1">select</asp:ListItem>
<asp:ListItem Value="2">sdasda</asp:ListItem>
</asp:DropDownList>
<asp:CustomValidator ID="valCustmID" runat="server" ErrorMessage="*" ForeColor="Red"
ValidationGroup="group1" ClientValidationFunction="ValidateFunction"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="group1" />
ПРИМЕЧАНИЕ: И пользовательский валидатор, и кнопка запуска должны иметь одну и ту же группу валидации.
СЕРВЕРНАЯ ВАЛИДАЦИЯ
Если вы действительно хотите на стороне сервера проверки, посмотрите код ниже:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="1">select</asp:ListItem>
<asp:ListItem Value="2">sdasda</asp:ListItem>
</asp:DropDownList>
<asp:CustomValidator ID="CustomValidator1" OnServerValidate="commandAssigned" runat="server" ErrorMessage="*" ValidationGroup="group1"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="group1" />
</ContentTemplate>
</asp:UpdatePanel>
ПРИМЕЧАНИЕ: И пользовательский валидатор, и кнопка запуска должны иметь одну и ту же группу валидации.
код позади события выглядит следующим образом:
protected void commandAssigned(object source, ServerValidateEventArgs args)
{
if (DropDownList1.SelectedItem.Value == "1")
args.IsValid = false; //since you gave controlToValidate="DropDownList1" this will display the error message.
else
args.IsValid = true;
}
Надеюсь, это поможет ..