Как изменить стиль для текстового поля asp: в codebehind? - PullRequest
0 голосов
/ 15 марта 2010

Я пытаюсь установить стиль asp: TextBox в codebehind, текстовое поле стиля изначально установлено на style="display:none" когда я устанавливаю блокировку дисплеев в коде позади, на мгновение появляется текстовое поле, а затем оно исчезает. Я не знаю, в чем заключается эта проблема, когда это делается в javascript, он отлично работает

Вот код:

код asp.net:

<asp:TextBox ID="txtError" style="display:none" runat="server" ReadOnly="True" Width="95%"></asp:TextBox>

отделенный код:

txtError.Style["display"] = "block";

Я что-то не так делаю? Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 14 декабря 2011

Если вы используете

txtError.Visible = false; 

Вы не можете получить доступ к текстовому полю с помощью JavaScript. Если вы хотите просто изменить видимость, вы можете использовать

txtError.Style.Add("display", "none");
1 голос
/ 15 марта 2010

Любой элемент управления .NET имеет свойство Visible - его следует использовать на тот случай, если вам не нужно, чтобы элемент управления отображался позже (если для Visible установлено значение false, элемент управления вообще не будет отображаться).

По поводу вашей проблемы - я думаю, что есть некоторый клиентский (javascript) код, который меняет стиль текстового поля обратно на display:none;

0 голосов
/ 15 марта 2010

А как насчет установки свойства Visible?

txtError.Visible = false;

Если это тоже не сработает, тогда где-то еще вы будете устанавливать значение none. Также проверьте, не скрыт ли какой-либо из родительских элементов текстового поля.

Также нет необходимости устанавливать блокировку отображения текстового поля (если это не предусмотрено), используйте вместо этого встроенный.

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