Вопрос

Я поддерживаю приложение, которое использует runat="server" Повсюду, чтобы показать/скрыть ряды стола.

Например, в местах, где существуют зависимые выпадающие списки, строка с ребенком DDL будет скрыта до тех пор, пока не будет выбран в родительском DDL.

Это плохая практика? Есть лучший способ сделать это?

Это было полезно?

Решение

я использую runat="server" в любое время, когда мне это нужно. Так что я думаю, что вы можете использовать это тоже. :-)

Другие советы

Я думаю, что это абсолютно ужасная практика. Прежде всего, вам не нужно совершать поездку на сервер, чтобы скрыть и показать элементы управления, если вам не нужны новые данные.

Во -вторых, любая приличная структура JavaScript позволит вам скрывать элементы управления Show на основе идентификатора управления, имени класса или какого -либо селектора CSS. Более того, использование JavaScript post/gate в общий обработчик предоставит вам данные, необходимые вам без возврата.

Я бы посоветовал использовать jQuery или какую -то другую альтернативу.

Это зависит от того, насколько вы заботитесь о производительности. Все, что помечено с помощью Runat = "Server", проходит больше обработки, чем просто теги с клиентами.

Лично я использовал их раньше. Особенно в ситуации, когда табличная ячейка или строка таблицы полагаются на данные с сервера. Вы можете использовать JavaScript или jQuery с скрытым полем, но вам все равно придется нанести удар по серверу для скрытого поля, поэтому он не покупает много.

Неплохо использовать Runat = "Server" со стандартными управлениями HTML. Часто вы найдете использование заполнителей, чтобы показать и скрывать контент на страницах или в ASP.NET MVC, вы можете увидеть использование встроенных кодовых блоков, таких как < % ... %> в представлениях. Самостоятельно и не учитывая другие аспекты дизайна, это ни хорошее, ни плохое.

Это то, что я делаю, чтобы скрыть строку, содержащую другие элементы управления сервером. Другими параметрами являются использование ASP: панель или другой контейнер, но это добавит больше HTML без какого -либо усиления.

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

Нисколько. ASP.NET поддерживает создание любого HTML -тега, работающего на стороне сервера. Ваша альтернатива - обернуть тег в Panel, и скрыть или показывать это. Если вы не ищете дополнительную функциональность или хотите самостоятельно управлять выводом, запуск тега HTML -тега на сервере не является проблемой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top