Установка стилей с помощью кода на HTML-элементы. Есть ли лучший способ? - PullRequest
1 голос
/ 18 сентября 2009

Я наткнулся на такой код:

public string IsAdmin()
{
    string style = "";

    if(EditUserName == "")
    {
        style = "visibility:hidden;display:none";
    }
    return style;
}

Тогда в html я вижу что-то вроде этого:

 <table style='<%= IsAdmin() %>'>
 </table>

Вышесказанное не кажется лучшим способом сделать это. Существует ли более эффективный и альтернативный способ установки стиля HTML-элементов программно.

Ответы [ 3 ]

3 голосов
/ 18 сентября 2009

Если вы используете эту договоренность:

<table runat="server" ID="tableElement">
</table>

тогда вы можете сделать что-то вроде этого:

HtmlTable table = (tableElement as HtmlTable);
table.Style.Add(HtmlTextWriterStyle.Display, "none");
table.Style.Add(HtmlTextWriterStyle.Visibility, "hidden");

Редактировать

В свете других предложений вы бы вместо этого использовали эту технику так:

table.Style.Add("class", "whatever");
3 голосов
/ 18 сентября 2009

Мне кажется, что вы действительно хотите, чтобы видимость была основана на разрешениях, а не на стилях, почему бы не сделать это:

Markup:

<table runat="server" visible='<%= IsVisible() %>'>
</table>

Код-за:

protected bool IsVisible()
{
    bool result= true;

    if(EditUserName == string.empty)
    {
        result= false;
    }
    return result;
}
3 голосов
/ 18 сентября 2009

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

Стиль обычно следует устанавливать с помощью внешних таблиц стилей.

При манипулировании DOM на стороне клиента существует ряд приемлемых способов установки стиля элемента. Как правило, для программистов эффективнее использовать библиотеку типа jQuery.

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