2014-12-11 2 views
1

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

Если у меня есть: <asp:TextBox ID="txt" CssClass="MyClass" runat="Server" />

я могу сделать: txt.Visible = false;, чтобы скрыть текстовое поле.

Но это освободит пространство, которое имело текстовое поле txt. Вместо этого я хочу сделать что-то вроде:

txt.css("display", "none"); 

Как я могу добиться этого в asp.net кода позади?

Благодаря

+0

Почему вы не положить текстовое поле внутри DIV и сделать DIV видимым/невидимым? –

+0

@mason - почему не может? мы можем сделать div runat = 'server' и сделать div видимым/невидимым в зависимости от состояния –

+0

Вот что я тоже думал. Но я работаю над проектом, в котором они используют таблицы, и не использовал div. Это сделано так, что плохо вводить div, так как я должен делать много изменений во многих местах. – States

ответ

3

управления имеют Style свойство, которое можно использовать, чтобы установить определенные правила CSS:

txt.Style["display"] = "none"; 

Однако определяя стиль в HTML элемент непосредственно не рекомендуется. Вместо этого, вы можете захотеть иметь класс, скажем hide, и добавить его в классы CSS элемента управления:

txt.CssClass += " hide"; 
+0

Андрей, почему это не рекомендуется? – States

+1

@States, потому что встроенные стили, как правило, превращаются в совершенно незаметную вещь. Если это всего лишь отображение, это, вероятно, хорошо, но для чего-то еще лучше иметь многократно используемый класс CSS. – Andrei

Смежные вопросы