Подтвердить что ты не робот

ASP.NET Контроль эквивалента HTML-тега

Я ищу чит-лист, который позволит мне показать разработчику HTML эквивалентные элементы управления asp.net для стандартных тегов HTML. В качестве примера команда < asp: Panel > будет отображаться как HTML <div> , а < asp: Label > будет отображаться как HTML <span> . Я искал это безрезультатно. Может ли кто-нибудь опубликовать ссылку на хороший лист обмана, чтобы дизайнеры в этом проекте могли более четко понять разметку на страницах aspx.

Чтобы быть ясным, мне нужна ссылка на список основных элементов управления ASP.NET с описанием того, как они будут относиться к стандартному HTML. Было бы здорово, если бы это было в формате PDF или на легко читаемой и печатной веб-странице. Причина в том, что у нас есть PHP-разработчик, который очень хорошо знаком с HTML, который подходит для работы над нашим проектом, и я считаю, что было бы полезно лучше понять стандартные серверные элементы управления ASP.NET, если бы я мог передайте ему такой "чит-лист".

Я имею в виду главным образом среду .NET 2.0, но мы также работаем с 3.0/3.5.

4b9b3361

Ответ 1

Это не простой вопрос, так как это зависит от того, какая версия .NEt вы говорите и состояния элементов управления иногда. Например, PANEL, в 1 и 1.1, отображает ТАБЛИЦУ, а в более поздних версиях - DIV.

Но в целом (для 2/3), здесь идет:

  • Панель - Div
  • Панель - GroupingText = "###" - Fieldset, Legend
  • Ярлык - пробел Кнопка
  • - вход, кнопка типа
  • Кнопка ссылки - Href с обратной почтой JS Script
  • Гиперссылка - стандартный HREF
  • Кнопка изображения - ввод, тип изображения
  • Текстовое поле - по умолчанию - ввод, тип текста
  • Текстовое поле - Режим = Пароль - это ввод, введите пароль
  • Текстовое поле - Режим = Многострочное текстовое поле
  • DropDownList - выберите
  • Listbox - выберите
  • RadioButton - Input, Radio with GroupName
  • Флажок - Вход, флажок
  • Repeater/Listview --Complex.
  • Gridview - Таблица
  • Таблица - Таблица
  • Файл - ввод, Тип = Файл

    Это основы. Более эзотерические элементы управления, такие как элемент управления LOGIN, представляют собой таблицу с множеством коэффициентов в ней.

Ответ 2

Список Stephen довольно полный. Я бы добавил к нему следующие примечания:

В основном это зависит от известного BrowserCaps.

Панель 1.x будет отображаться как div в IE6 + - однако в Firefox (или в других браузерах DownStream - считается DownStream, поскольку по умолчанию в Machine.Config не было никаких подробностей), она будет отображаться как одиночный table table - это можно решить, предоставив обновленные BrowserCaps для Firefox/Opera/Safari/etc, либо в Machine.Config, либо в Web.Configs.

Кроме того, контрольные адаптеры могут изменить выход - например, Адаптеры управления CSS будут выводить стилизованные div для большинства табличных элементов управления (login, регистрация, повторители и т.д.).

Обратите внимание, что в TechEd/PDC было объявлено, что ASP.NET 4.0 будет иметь встроенные по умолчанию адаптеры управления CSS.

Ответ 3

Это не отвечает на ваш вопрос напрямую, но во многих случаях вы можете добавить runat = "server" в обычный тег HTML, чтобы ASP.Net знал об этом. Это может облегчить работу дизайнера, если вы хотите иметь возможность динамически изменять страницу, но при этом позволить дизайнеру работать над ней.

<div id="myDiv" runat="server"></div>
<span id="mySpan" runat="server"></span>

Edit:

Одна вещь, о которой я забыл упомянуть (как указано steve_c), заключается в том, что добавление runat = "server" изменит идентификатор для тега, что может быть немного больно. Вам не повезло, если вы используете идентификатор в своем CSS, но в вашем JavaScript вы можете добавить что-то вроде <% = myDiv.ClientID% > , чтобы получить идентификатор, который был сгенерирован .NET.

Ответ 4

htmlgenericcontrol может помочь, если вам нужно отобразить определенный тег

Ответ 5

protected void CreateHeaders(List<Group_Info> group_Info)
{
    foreach (Group_Info gi in group_Info)
    {
        HtmlGenericControl groupContainer = new HtmlGenericControl("DIV");
        String lastLableID = "disp" + gi.GroupName.ToString().Replace(" ", "");
        groupContainer.ID = lastLableID;
        groupContainer.Attributes.Add("class", "content-groups");

        HtmlGenericControl groupTitle = new HtmlGenericControl("DIV");
        groupTitle.ID = lastLableID + "Sub1";
        if (gi.GroupName.Trim().Length == 0)
            groupTitle.Attributes.Add("class", "titlebar-hidden");
        else
        {
            groupTitle.Attributes.Add("class", "titlebar");
            groupTitle.InnerText = gi.GroupName.ToString().Trim();
        }

        groupContainer.Controls.Add(groupTitle);

        CreateFields(gi, ref groupContainer);

        this.pageContainer.Controls.Add(groupContainer);
    }
}