Проверка флажка - PullRequest
       9

Проверка флажка

0 голосов
/ 03 июля 2010

Является ли хорошей идеей убрать логику проверки флажков из разметки, в частности встроенный скрипт 'checked = "checked"', такой как

<input type="checkbox" name="LikesWork" <%= Model.LikesWork ? "checked=\"checked\"" : "" %> />

, и заменить его некоторым кодомон принимает словарь с селектором javascript (jQuery) в качестве ключа и bool в качестве значения.Тогда флажки будут проверяться javascript, упрощая разметку.

<input type="checkbox" name="LikesWork" />

...

<%
Dictionary<string, bool> checkElements = new Dictionary<string, bool>();
checkElements.Add("#likesWork", Model.Account.LikesWork);
Response.Write(Html.CheckCheckboxes(checkElements));    
%>

Если это не очень хорошая идея, почему бы и нет?

Ответы [ 2 ]

2 голосов
/ 03 июля 2010

Вы всегда можете просто использовать строго типизированный хелпер CheckBoxFor и вообще избежать этого беспорядка.Соответствующий бит из документации:

Возвращаемое значение
Тип: System.Web.Mvc.MvcHtmlString Элемент ввода HTML, атрибут типа которого установлен на «флажок» для каждого свойствав объекте, который представлен указанным выражением.

2 голосов
/ 03 июля 2010

Я не согласен с таким подходом.Если вам не нужно, я бы не стал полагаться на javascript для этого.Это может быть маловероятно, но есть несколько причин, по которым это может не сработать:

  • У пользователя отключен JS
  • Другая ошибка js на странице не позволяет вашему сценарию обработать
  • Пользователь получает доступ к вашему сайту с мобильного устройства, которое не поддерживает ваш сценарий

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...