Re: Проблема с visible
От: evilWizard Украина  
Дата: 24.07.08 09:06
Оценка:
Здравствуйте, Nuttzipper, Вы писали:

N>Доброе время суток! Не могу понять в чем дело!

N>В разметке страницы в VS2005 написал

N>
N><div visible=false>
N><v8:v8textbox id="Дата" width="100%" runat="server" ItemDataSource="ItemDataSource" FieldName="Дата" SelectButton="True"></v8:v8textbox>
N></div>
N>


N>Поидее <div visible=false> не должен отрабатываться на сервере, а браузер пользователя должен воспринимать свойство и скрывать содержимое. Однако браузер все показывает. В коде страницы в браузере наблюдается следующая реализация asp.netом этого кода


Ну он и не должен отрабатываться браузером


N>
N><div visible="false">
N><table cellpadding="0" cellspacing="0" width="100%" id="Дата" style="display:inline;table-layout:fixed;">
N>    <tr valign="middle">
N>        <td width="100%"><input valueType="dateTime" type="text" value="24.07.2008 0:00:00" style="width:100%;" /></td>
N>    </tr>
N></table></div>
N>


N>Посему я думаю что дело в том что я не понимаю как работает свойство visible — почему оно не скрывает все что внутри тега div?

Это точно!

Поскольку DIV не имеет аттрибута runat="server" то ASP.NET рендерит этот элемент с навязанным ему пользовательским аттрибутом visible, а браузер и не знал никогда что у HTML элементов есть аттрибут visible — вот он его и игнорирует.
Используй аттрибут style или class:
style="visibility:hidden" — скрывает элемент, но не убирает из видимой структуры элементов;
style="display:none" — скрывает элемент и убирает из видимой структуры элементов.
All roads lead to Babilon!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.