Кнопка ASP.NET против Linkbutton Enabled = "ложное" поведение - PullRequest
1 голос
/ 26 марта 2009

Почему элементы управления ASP.NET LinkButton с атрибутом OnClientClick отключены, если Enabled="false" по-прежнему отображать обработчик событий onclick в HTML, а Button - нет?

Кажется нелогичным. Поскольку якоря не могут быть действительно отключены в браузерах, имеет смысл не прикреплять событие onclick (и атрибут href), если оно было отключено на стороне сервера.

Ответы [ 2 ]

2 голосов
/ 26 марта 2009

Что ж, я бы согласился, что это не имеет большого значения для сервера, но без изменения способа рендеринга кнопки ссылок одним из многих методов, встроенных в asp.net, на самом деле с этим ничего нельзя поделать. Если вы не хотите условно обрабатывать клики в клиентском коде и проверять атрибуты элемента. Это именно так, как это в настоящее время реализовано, поэтому, когда вам нужна функциональность кнопки, которую можно отключить, лучше всего держаться подальше от кнопок ссылок или якорей.

0 голосов
/ 26 марта 2009

Это действительно не имеет ничего общего с asp.net.

Кнопка гиперссылки по-прежнему запускает событие onclick, даже если оно отключено. Итог: запекание в HTML. (Входной тег, если отключен, не срабатывает.)

 <a href="javascript:alert('Hello!');" disabled="disabled">Click Me!</a>
...