您可以使用CustomValidator例程来完成。
<asp:CustomValidator ID="ListBox5ItemsValidator" runat="server"
OnServerValidate="ListBox5ItemsValidator_ServerValidate"
ClientValidationFunction="ListBox5ItemsValidator_ClientValidate"
ControlToValidate="MyListBox">
</asp:CustomValidator>
服务器端代码:
protected void ListBox5ItemsValidator_ServerValidate(
object source, ServerValidateEventArgs args) {
int selectionCount = 0;
foreach (ListItem item in MyListBox.Items) {
if (item.Selected) selectionCount++;
}
args.IsValid = (selectionCount >= 1 && selectionCount <= 5);
}
客户端代码:
function ListBox5ItemsValidator_ClientValidate(sender, args) {
var selectionCount = $('#<% =MyListBox.ClientID %> option:selected').length;
args.IsValid = (selectionCount >= 1 && selectionCount <= 5);
};
用要验证的列表框的实际名称替换MyListBox。如果您的ListBox包含在其他容器控件中,则可能需要更多的工作来引用服务器端和客户端的控件。例如,如果它包含在名为FormView1的FormView控件中,则可以使用
ListBox MyListBox = (ListBox)FormView1.FindControl("MyListBox");