Как запретить пользователю устанавливать не более 10 флажков asp.net? - PullRequest
0 голосов
/ 26 января 2011

Как запретить пользователю устанавливать не более 10 флажков asp.net на событие нажатия кнопки, если пользователь установит более 10 флажков, появится всплывающее окно с предупреждением, что вы не можете выбрать более 10 флажков?

Ответы [ 2 ]

2 голосов
/ 26 января 2011

Если на странице не так много флажков, создайте функцию javascript onlcick для этого флажка и просмотрите все флажки, чтобы проверить, установлено ли больше 10.

Если на вашей странице много флажков, то увеличивайте переменную, когда флажок установлен, и уменьшайте ее, когда флажок снят. У вас всегда будет счетчик, который вы можете проверить, чтобы отобразить предупреждение.

1 голос
/ 26 января 2011

Вы можете использовать CustomValidator и реализовать его ServerValidate событие (и, опционально, сделать то же самое на клиенте через его ClientValidationFunction).

Может быть что-то вроде этого (если вы используете jQuery):

ASPX

<asp:CheckBoxList ID="Checkboxes" runat="server" />
<asp:CustomValidator ID="CheckboxValidator" runat="server" Display="None" ClientValidationFunction="CheckboxValidator_ClientValidate" OnServerValidate="CheckboxValidator_ServerValidate" ErrorMessage="Too many selections" />
<asp:ValidationSummary runat="server" />

<script type="text/javascript">
    function CheckboxValidator_ClientValidate(sender, args) {
        args.IsValid = jQuery('#<%=Checkboxes.ClientID%> input:checked').length < <%= MaximumSelections %>;
    }
</script>

Codebehind

protected const int MaximumSelections = 10;

protected void CheckboxValidator_ServerValidate(object sender, ServerValidateEventArgs args)
{
    args.IsValid = Checkboxes.Items.Cast<ListItem>().Where(i => i.Selected).Count() < MaximumSelections;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...