Чтобы увидеть, является ли переменная непустой, я использую
if [[ $var ]]; then ... # `$var' expands to a nonempty string
Противоположные тесты, если переменная либо не установлена, либо пуста:
if [[ ! $var ]]; then ... # `$var' expands to the empty string (set or not)
Чтобы узнать, установлена ли переменная (пустой или непустой), я использую
if [[ ${var+x} ]]; then ... # `var' exists (empty or nonempty)
if [[ ${1+x} ]]; then ... # Parameter 1 exists (empty or nonempty)
Противоположные тесты, если переменная не установлена:
if [[ ! ${var+x} ]]; then ... # `var' is not set at all
if [[ ! ${1+x} ]]; then ... # We were called with no arguments
Как вы видели, на панели обновления нет свойства класса css. Так как это невозможно сделать напрямую, вам нужно обойтись; есть два (взяты из UpdatePanel и CSS ), которые могут получить желаемое поведение.
Один - окружить панель обновления элементом div:
<div id="foo" style="visibility: hidden; position: absolute">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
</asp:UpdatePanel>
</div>
Второй - применить селектор CSS на основе по идентификатору панели обновления:
<style type="text/css">
#<%=UpdatePanel1.ClientID%> {
visibility: hidden;
position: absolute;
}
</style>
Еще один способ, не упомянутый в статье, - это окружить панель элементом div и стилизовать панель обновления на основе ее рендеринга как div:
<style type="text/css">
#foo div {
visibility: hidden;
position: absolute;
}
</style>
<div id="foo">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
</asp:UpdatePanel>
</div>
Панель обновления может отображаться как div или span (в зависимости от режима). Самый простой способ добиться того, чего вы хотите, - обернуть UpdatePanel в стандартной панели:
<asp:Panel ID="Panel1" runat="Server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
</asp:UpdatePanel>
</asp:Panel>
Вы можете просто сделать это в выделенном коде:
Panel1.CssClass = "myCssClass";
Вы также можете использовать div, как сказал LFSR Consulting, и добавить runat = "server"
, а затем измените атрибут класса. Но с Panel немного проще работать (Panel просто отображается как div).